/* uncensoredlocalllm.com - text-mode SETUP installer */
:root{--red:#a11227;--red2:#c0162f;--ink:#14080b;--bone:#ece6e1;--paper:#fff5f1;--rose:#ff8fa0;
--mono:"Cascadia Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;
--disp:"Jersey 10","Cascadia Mono",ui-monospace,Menlo,Consolas,monospace}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--ink);color:var(--paper);font:400 15.5px/1.65 var(--mono);overflow-x:hidden;-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
img,svg{max-width:100%}
button,input{font:inherit;color:inherit;border-radius:0}
:focus-visible{outline:3px solid var(--fo,#fff);outline-offset:2px}
.skip{position:absolute;left:8px;top:-80px;z-index:100;background:var(--ink);color:var(--paper);padding:12px 16px;font-weight:700}
.skip:focus{top:8px}

/* ---------- context variables ---------- */
.b-red{--fg:#fff5f1;--mut:#ffe1e4;--rule:rgba(255,245,241,.26);--acc:#fff;--fo:#fff;--sh:#14080b;--bb:#fff5f1;--bf:#14080b;--bsh:#14080b;--gf:#fff5f1;--gd:rgba(20,8,11,.42)}
.b-ink{--fg:#f3e9e6;--mut:#d3c0c4;--rule:#43272e;--acc:#ff8fa0;--fo:#ff8fa0;--sh:#a11227;--bb:#a11227;--bf:#fff;--bsh:#ece6e1;--gf:#ff8fa0;--gd:#43272e}
.b-bone,.dlg,.mb{--fg:#14080b;--mut:#54393f;--rule:rgba(20,8,11,.22);--acc:#a11227;--fo:#14080b;--bb:#a11227;--bf:#fff;--bsh:#14080b;--gf:#a11227;--gd:#cdbfb9}
.b-bone{--sh:#a11227}

/* ---------- menubar ---------- */
.mb{position:sticky;top:0;z-index:50;background:var(--bone);color:var(--ink);border-bottom:2px solid var(--ink)}
.mb-in{max-width:1280px;margin:0 auto;padding:0 32px;display:flex;align-items:stretch;gap:8px;min-height:60px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:400 30px/.82 var(--disp);letter-spacing:.01em;margin-right:18px;padding:6px 0}
.logo .mark{flex:none;display:block}
.nav{display:flex;align-items:stretch;margin-right:auto}
.nav a{display:flex;align-items:center;padding:0 16px;text-decoration:none;font-weight:600;font-size:15px}
.hk{font-weight:700;color:var(--red)}
.nav a:hover{background:var(--red);color:#fff}
.nav a:hover .hk{color:#fff}
.nav a[aria-current]{background:var(--ink);color:var(--paper)}
.nav a[aria-current] .hk{color:var(--rose)}
.burger{display:none}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:8px 22px;border:0;background:var(--bb);color:var(--bf);
font:700 15px/1.2 var(--mono);text-decoration:none;text-align:center;cursor:pointer;box-shadow:6px 6px 0 var(--bsh);transition:transform .07s,box-shadow .07s}
.btn::before{content:"\25BA";font-size:.7em}
.btn:hover{filter:brightness(1.12)}
.btn:active{transform:translate(6px,6px);box-shadow:0 0 0 var(--bsh)}
.btn.big{min-height:56px;padding:10px 28px;font-size:17px}
.btn.ghost{background:transparent;color:var(--fg);box-shadow:none;border:2px solid var(--fg)}
.btn.ghost::before{content:none}
.btn.ghost:hover{background:var(--fg);color:var(--ink);filter:none}
.b-ink .wrap>.acts .btn.ghost:hover,.b-ink .btn.ghost:hover{color:var(--ink)}
.dlg .btn.ghost:hover{color:var(--bone)}
.btn.ghost:active{transform:none}
.btn.sm{min-height:44px;padding:6px 14px;font-size:13.5px;box-shadow:4px 4px 0 var(--bsh)}
.btn.sm::before{content:none}
.btn.ghost.sm{box-shadow:none}
.btn[disabled]{opacity:.6;cursor:wait}
.mb .btn.key{align-self:center;min-height:44px;padding:6px 18px;box-shadow:4px 4px 0 var(--ink)}
.mb .btn.key:active{transform:translate(4px,4px);box-shadow:none}
.acts{display:flex;flex-wrap:wrap;gap:18px 22px;align-items:center}

/* ---------- path strip (breadcrumb as a prompt) ---------- */
.path{background:var(--ink);color:var(--bone);font-size:12.5px;--fo:#ff8fa0}
.path-in{max-width:1280px;margin:0 auto;padding:0 32px;display:flex;justify-content:space-between;gap:24px;min-height:32px;align-items:center}
.crumb{display:flex;align-items:center;min-width:0;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}
.crumb a{text-decoration:none;padding:6px 0}
.crumb a:hover{text-decoration:underline}
.crumb .here{overflow:hidden;text-overflow:ellipsis;color:var(--rose)}
.crumb .sep{color:#d3c0c4;padding:0 1px}
.cur{flex:none;width:8px;height:14px;background:var(--rose);margin-left:6px;animation:blink 1.1s steps(1) infinite}
.ep{color:#d3c0c4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@keyframes blink{50%{opacity:0}}

/* ---------- bands ---------- */
.band{color:var(--fg);border-bottom:2px solid var(--ink)}
.b-red{background-color:var(--red);background-image:radial-gradient(rgba(20,8,11,.2) 1px,transparent 1.3px);background-size:5px 5px}
.b-ink{background:var(--ink);border-bottom-color:#43272e}
.b-bone{background:var(--bone)}
.wrap{max-width:1280px;margin:0 auto;padding:76px 32px 88px;border-left:1px solid var(--rule);border-right:1px solid var(--rule)}
h1{font:400 clamp(50px,7.2vw,108px)/.82 var(--disp);letter-spacing:.005em;overflow-wrap:break-word;text-shadow:5px 5px 0 rgba(20,8,11,.55)}
.lead{font-size:17px;line-height:1.6;max-width:62ch;margin-top:26px;color:var(--fg)}
.eyebrow{display:inline-block;background:var(--ink);color:var(--paper);font-weight:700;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;margin-bottom:22px}
.sh{display:flex;align-items:center;gap:18px;margin-bottom:44px}
.sh::after{content:"";flex:1;min-width:24px;height:6px;border-top:2px solid var(--fg);border-bottom:2px solid var(--fg)}
.sh-n{flex:none;font:700 13px/1 var(--mono);background:var(--fg);color:var(--ink);padding:7px 9px}
.b-red .sh-n{color:var(--red)}
.b-bone .sh-n{color:var(--bone)}
.sh h2{font:400 clamp(38px,4.6vw,64px)/.86 var(--disp);min-width:0;overflow-wrap:break-word}

/* ---------- checkbox lists ---------- */
.chk li{position:relative;padding-left:4.4ch;margin-top:12px;font-weight:600}
.chk li::before{content:"[x]";position:absolute;left:0;top:0;font-weight:700;color:var(--acc)}
.chk.dark li{font-weight:400}
.hero .chk{margin-top:28px;max-width:60ch}
.hero .acts,.phead .acts{margin-top:38px}

/* ---------- dialog box ---------- */
.dlg{position:relative;background:var(--bone);color:var(--fg);padding:10px;box-shadow:12px 12px 0 var(--sh);min-width:0}
.b-red .dlg{box-shadow:12px 12px 0 rgba(20,8,11,.82)}
.dlg-in{border:4px double var(--ink);padding:34px 26px 28px;min-width:0;height:100%}
.dlg-in>*{--sh:#a11227}
.dlg-t{position:absolute;top:12px;left:50%;transform:translate(-50%,-50%);max-width:calc(100% - 150px);background:var(--bone);padding:0 12px;
font:700 13px/1.5 var(--mono);letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dlg::before{content:"[\25A0]";position:absolute;top:12px;left:26px;transform:translateY(-50%);background:var(--bone);padding:0 6px;font:700 13px/1.5 var(--mono);color:var(--red)}

/* ---------- gauge (signature) ---------- */
.gauge{display:flex;align-items:center;gap:12px;font-weight:700;font-size:13px;line-height:1}
.gauge i{flex:1;min-width:0;height:16px;background:repeating-linear-gradient(90deg,var(--gd) 0 9px,transparent 9px 12px)}
.gauge i::after{content:"";display:block;height:100%;width:var(--p);background:repeating-linear-gradient(90deg,var(--gf) 0 9px,transparent 9px 12px)}
.gauge b{flex:none;min-width:4ch;text-align:right}
.gauge.run i::after{animation:fill 2.2s steps(22) .3s both}
@keyframes fill{from{width:0}}

/* ---------- hero ---------- */
.hero-g{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:64px;align-items:center}
.hero-l,.hero-r{min-width:0}
.dlg-code .dlg-in{padding:30px 16px 16px}
.dlg-code .gauge{margin-bottom:14px}

/* ---------- code ---------- */
.codebox{background:#0d0507;color:#f3e9e6;border:2px solid var(--ink);min-width:0;--fo:#ff8fa0}
.codetabs{display:flex;border-bottom:1px solid #43272e;overflow-x:auto}
.codetabs button{min-height:44px;padding:0 18px;background:none;border:0;border-right:1px solid #43272e;color:#d3c0c4;font:600 13.5px var(--mono);cursor:pointer}
.codetabs button:hover{color:#fff}
.codetabs button[aria-selected="true"]{background:var(--bone);color:var(--ink);font-weight:700}
pre.code{position:relative;margin:0;background:#0d0507;color:#f3e9e6;max-width:100%;overflow:hidden;--fo:#ff8fa0}
pre.code::before{content:"\203A_";position:absolute;left:16px;top:11px;font:700 13px/1.6 var(--mono);color:var(--rose)}
pre.code code{display:block;overflow-x:auto;padding:46px 16px 18px;font:400 13.5px/1.65 var(--mono);white-space:pre;tab-size:2}
pre.code .k{color:#fff;font-weight:700}
pre.code .s{color:#ff9aa9}
pre.code .c{color:#b9a3a8}
.copy{position:absolute;top:0;right:0;min-height:44px;min-width:44px;padding:0 14px;background:none;border:0;border-left:1px solid #43272e;border-bottom:1px solid #43272e;
color:#f3e9e6;font:700 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.copy:hover{background:var(--bone);color:var(--ink)}

/* ---------- facts band ---------- */
.factband .wrap{padding-top:0;padding-bottom:0}
.facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.facts>div{display:flex;flex-direction:column-reverse;justify-content:flex-end;padding:30px 20px 28px;border-right:1px solid var(--rule);min-width:0}
.facts>div:last-child{border-right:0}
.facts dd{font:400 clamp(40px,4.4vw,62px)/.9 var(--disp);color:var(--rose)}
.facts dt{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--mut);margin-top:10px;line-height:1.4}

/* ---------- ruled cells ---------- */
.cells{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink);border-left:2px solid var(--ink)}
.cell{position:relative;padding:30px 26px 34px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);min-width:0}
.cell .no{display:inline-block;background:var(--ink);color:var(--bone);font-weight:700;font-size:12.5px;padding:3px 8px;margin-bottom:16px}
.cell:hover{background:var(--ink);color:var(--bone)}
.cell:hover .no{background:var(--rose);color:var(--ink)}
.cell h3{font:700 18px/1.3 var(--mono);margin-bottom:10px;overflow-wrap:break-word}
.cell p{font-size:14.5px}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.dlg-step .dlg-in{display:flex;flex-direction:column}
.dlg-step h3{font:400 34px/.9 var(--disp);margin-bottom:12px}
.dlg-step p{font-size:14.5px;margin-bottom:22px}
.dlg-step .gauge{margin-top:auto}

/* ---------- use cases ---------- */
.uses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--rule)}
.uses li{display:flex;gap:22px;padding:30px 28px 32px 0;border-bottom:1px solid var(--rule);min-width:0}
.uses li:nth-child(odd){border-right:1px solid var(--rule)}
.uses li:nth-child(even){padding-left:28px;padding-right:0}
.uses .no{flex:none;font:400 52px/.8 var(--disp);color:var(--rose)}
.uses h3{font:700 18px/1.3 var(--mono);margin-bottom:8px}
.uses p{color:var(--mut);font-size:14.5px}
.uses div{min-width:0}

/* ---------- prose ---------- */
.prose{min-width:0;max-width:78ch;font-size:15.5px;line-height:1.75;overflow-wrap:break-word}
.prose.solo{margin:0 auto}
.prose.gap{margin-top:72px}
.prose>*+*{margin-top:1.1em}
.prose h2{font:400 clamp(34px,3.6vw,48px)/.9 var(--disp);margin-top:1.5em;padding-top:.5em;border-top:4px double var(--ink)}
.prose>h2:first-child{margin-top:0;padding-top:0;border-top:0}
.prose h3{font:700 17px/1.35 var(--mono);text-transform:uppercase;letter-spacing:.04em;margin-top:1.9em}
.prose h3::before{content:"\25A0 ";color:var(--red)}
.prose a{color:var(--red);font-weight:600;text-underline-offset:3px}
.prose a:hover{background:var(--red);color:#fff;text-decoration:none}
.prose ul,.prose ol{padding-left:3.4ch}
.prose ul{list-style:square}
.prose ol{list-style:decimal}
.prose li{margin-top:.45em;padding-left:.4ch}
.prose li::marker{color:var(--red);font-weight:700}
.prose :not(pre)>code{background:#dad0ca;padding:1px 5px;font-size:.93em;overflow-wrap:anywhere}
.prose blockquote{margin-left:0;margin-right:0;padding:4px 0 4px 18px;border-left:6px solid var(--red)}
.prose pre.code{margin-top:1.5em;margin-bottom:1.9em;box-shadow:8px 8px 0 var(--red)}
.prose table{display:block;width:max-content;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:14px;line-height:1.5;margin-top:1.5em;margin-bottom:1.7em}
.prose th,.prose td{border:2px solid var(--ink);padding:9px 13px;text-align:left;vertical-align:top}
.prose th{background:var(--ink);color:var(--bone);font-weight:700}
.prose tbody tr:nth-child(even) td{background:#e0d7d1}
.prose hr{border:0;border-top:4px double var(--ink)}

/* ---------- docs / article reader ---------- */
.doc{display:grid;grid-template-columns:300px minmax(0,1fr);gap:72px;align-items:start}
.rail{position:sticky;top:84px;display:grid;gap:34px;min-width:0;max-height:calc(100vh - 100px);overflow-y:auto;padding:0 12px 14px 0}
.rail .dlg{box-shadow:8px 8px 0 var(--red);border:2px solid var(--ink);padding:6px}
.rail .dlg-in{padding:26px 16px 16px}
.rail .dlg::before{left:20px;top:10px}
.rail .dlg-t{top:10px;max-width:calc(100% - 84px);left:auto;right:18px;transform:translateY(-50%);letter-spacing:.05em;padding:0 8px}
.dlg p,.dlg h3,.cell p,.uses p{overflow-wrap:anywhere}
.toc{counter-reset:t}
.toc li{counter-increment:t;border-bottom:1px solid var(--rule)}
.toc li:last-child{border-bottom:0}
.toc a{display:flex;gap:10px;padding:10px 4px;text-decoration:none;font-size:13.5px;line-height:1.45;min-height:44px;align-items:center}
.toc a::before{content:counter(t,decimal-leading-zero);flex:none;font-weight:700;color:var(--red)}
.toc a:hover{background:var(--ink);color:var(--bone)}
.toc a:hover::before{color:var(--rose)}
.dlg-side .side-h{font:400 28px/.92 var(--disp);margin-bottom:8px}
.dlg-side p{font-size:13.5px;line-height:1.55}
.dlg-side .btn{width:100%;margin-top:16px;min-height:46px;padding:6px 10px;font-size:14px;box-shadow:4px 4px 0 var(--ink)}

/* ---------- page heads ---------- */
.phead .wrap{padding-top:64px;padding-bottom:76px}
.phead h1{font-size:clamp(46px,6vw,88px)}
.phead.slim .wrap{padding-top:52px;padding-bottom:56px}
.ph-g,.price-g,.art-g{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:64px;align-items:end}
.price-g,.art-g{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center}
.ph-g>*,.price-g>*,.art-g>*{min-width:0}
.ro{background:var(--ink);color:var(--bone);box-shadow:10px 10px 0 rgba(20,8,11,.5);border:1px solid var(--rule)}
.ro>div{padding:14px 18px;border-bottom:1px solid #43272e}
.ro>div:last-child{border-bottom:0}
.ro dt{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:#d3c0c4}
.ro dd{color:var(--rose);font-weight:700;font-size:14.5px;overflow-wrap:anywhere}
.meta{display:inline-block;margin-top:28px;background:var(--ink);color:var(--paper);font-size:12.5px;letter-spacing:.07em;text-transform:uppercase;padding:5px 12px}
.phead .chk{margin-top:22px}
.price div{display:flex;align-items:baseline;gap:18px;padding:11px 2px;border-bottom:1px solid var(--rule)}
.price div:last-child{border-bottom:0;padding-bottom:0}
.price div:first-child{padding-top:0}
.price dd{flex:none;width:3.6em;font:400 clamp(38px,3.6vw,52px)/.9 var(--disp);color:var(--red)}
.price dt{font-size:13px;letter-spacing:.05em;text-transform:uppercase;line-height:1.4;min-width:0}
.dlg-tk .chk li:first-child{margin-top:0}
.dlg-tk .chk li{font-size:14.5px;line-height:1.6}

/* ---------- calculator ---------- */
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr);gap:22px;align-items:stretch}
.calc>div{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;min-width:0}
.calc label,.form label{font-weight:700;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase}
.calc input,.form input{width:100%;min-height:52px;padding:8px 14px;background:var(--ink);color:var(--paper);border:2px solid var(--ink);font:600 17px var(--mono);caret-color:var(--rose)}
.calc input:focus,.form input:focus{outline:3px solid var(--red);outline-offset:2px}
.form input:-webkit-autofill{-webkit-text-fill-color:#fff5f1;box-shadow:inset 0 0 0 60px #14080b;caret-color:#ff8fa0}
.calc>div:last-child{background:var(--ink);color:var(--bone);padding:16px 18px;box-shadow:6px 6px 0 var(--red)}
.calc output{font:400 clamp(48px,5vw,68px)/.85 var(--disp);color:var(--rose);overflow-wrap:anywhere}

/* ---------- key page ---------- */
.keyhero .wrap{padding-top:56px;padding-bottom:84px}
.key-g{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-areas:"h f" "b f";gap:34px 64px;align-items:start;grid-template-rows:auto 1fr}
.key-h{grid-area:h;min-width:0}
.key-f{grid-area:f;min-width:0}
.ben{grid-area:b;min-width:0;max-width:62ch}
.keyhero h1{font-size:clamp(46px,5.6vw,84px)}
.ben li{margin-top:18px;font-weight:400}
.ben h2{font:700 16.5px/1.4 var(--mono)}
.ben p{color:var(--mut);font-size:14.5px;margin-top:2px}
.form{min-width:0}
.tabs2{display:grid;grid-template-columns:1fr 1fr;border:2px solid var(--ink);margin-bottom:22px}
.tabs2 button{min-height:48px;padding:6px 8px;background:transparent;border:0;font:700 14px var(--mono);cursor:pointer;color:var(--ink)}
.tabs2 button+button{border-left:2px solid var(--ink)}
.tabs2 button[aria-selected="true"]{background:var(--ink);color:var(--paper)}
.tabs2 button[aria-selected="false"]:hover{background:#dad0ca}
.msg:empty{display:none}
.msg{margin-bottom:18px;padding:12px 14px;font-weight:700;font-size:14px;line-height:1.45}
.msg.err{background:var(--red);color:#fff;box-shadow:4px 4px 0 var(--ink)}
.msg.err::before{content:"[!] "}
.form .row{display:grid;gap:8px;margin-bottom:18px}
.form .note{font-size:13px;line-height:1.5;color:var(--mut)}
.form form>.btn{width:100%;min-height:56px;margin:6px 0 18px;font-size:16px}
.keyout{display:none}
.keyout.on{display:block}
.keyout h3{font:400 36px/.9 var(--disp);margin-bottom:14px}
.keybox{display:flex;align-items:stretch;background:var(--ink);color:var(--rose);border:2px solid var(--ink);margin-bottom:12px}
.keybox [data-key]{flex:1;min-width:0;padding:13px 14px;font-weight:700;font-size:14px;line-height:1.5;overflow-wrap:anywhere;word-break:break-all}
.keybox .btn{box-shadow:none;flex:none}
.keybox .btn:active{transform:none}
.keyout p{font-size:14px;line-height:1.9;margin-top:12px;overflow-wrap:anywhere}
.keyout p.note{line-height:1.5}
.keyout code{background:#dad0ca;padding:1px 5px}
.keyout .mut{color:var(--mut)}
.keyout .acts{gap:12px 14px;margin-top:20px}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--rule);max-width:980px}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{position:relative;list-style:none;cursor:pointer;padding:20px 8px 20px 5.4ch;font-weight:700;font-size:16.5px;line-height:1.45;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"[+]";position:absolute;left:8px;top:20px;color:var(--rose)}
.faq details[open] summary::before{content:"[-]"}
.faq summary:hover{background:#231216}
.faq details[open] summary{color:var(--rose)}
.faq details p{padding:0 8px 24px 5.4ch;color:var(--mut);max-width:84ch}

/* ---------- CTA band / 404 ---------- */
.cta .wrap,.nf .wrap{padding-top:84px;padding-bottom:100px}
.dlg-cta,.dlg-nf{max-width:820px;margin:0 auto}
.dlg-cta .dlg-in,.dlg-nf .dlg-in{padding:48px 40px 40px}
.dlg-cta h2{font:400 clamp(40px,4.6vw,64px)/.86 var(--disp)}
.dlg-cta p{margin-top:16px;max-width:60ch}
.dlg-cta .gauge,.dlg-nf .gauge{margin:26px 0 30px}
.dlg-nf h1{font-size:clamp(46px,6vw,84px);text-shadow:none}
.dlg-nf .lead{margin-top:18px}
.nf .wrap{min-height:62vh}

/* ---------- footer: function-key bar ---------- */
.ft{background:var(--ink);color:var(--bone);--fo:#ff8fa0}
.fkeys{display:flex;flex-wrap:wrap;gap:6px 4px;max-width:1280px;margin:0 auto;padding:26px 32px 0}
.fkeys a{display:flex;align-items:stretch;min-height:44px;text-decoration:none;font-size:14px;font-weight:600;min-width:0}
.fkeys b{display:flex;align-items:center;padding:0 8px 0 4px;color:var(--bone)}
.fkeys span{display:flex;align-items:center;background:var(--red);color:#fff;padding:4px 16px;min-width:0;overflow-wrap:anywhere}
.fkeys a:hover span{background:var(--bone);color:var(--ink)}
.ft-in{max-width:1280px;margin:0 auto;padding:34px 32px 44px;display:grid;grid-template-columns:auto 1fr;gap:6px 28px;align-items:center}
.ft-b{display:flex;align-items:center;gap:10px;font:400 30px/.85 var(--disp)}
.ft-b .mark{flex:none}
.ft-t{color:#d3c0c4;font-size:13.5px}
.ft-l{grid-column:1/-1;color:#d3c0c4;font-size:12.5px;line-height:1.6;margin-top:14px;padding-top:16px;border-top:1px solid #43272e}

/* ---------- responsive ---------- */
@media (max-width:1100px){
.hero-g{grid-template-columns:minmax(0,1fr);gap:52px}
.doc{grid-template-columns:260px minmax(0,1fr);gap:44px}
.steps{gap:26px}
.facts{grid-template-columns:repeat(3,minmax(0,1fr))}
.facts>div:nth-child(3){border-right:0}
.facts>div:nth-child(-n+3){border-bottom:1px solid var(--rule)}
}
@media (max-width:900px){
.ep{display:none}
.mb-in{padding:0 16px;gap:10px;position:relative;align-items:center}
.logo{margin-right:auto;font-size:24px;max-width:118px}
.logo .mark{width:28px;height:28px}
.burger{display:flex;align-items:center;justify-content:center;flex:none;width:46px;height:46px;background:var(--ink);border:0;cursor:pointer;padding:0}
.burger span,.burger span::before,.burger span::after{display:block;width:20px;height:3px;background:var(--bone)}
.burger span{position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}
.burger span::before{top:-7px}
.burger span::after{top:7px}
.burger[aria-expanded="true"]{background:var(--red)}
.nav{display:none;position:absolute;left:16px;right:16px;top:100%;flex-direction:column;background:var(--bone);border:2px solid var(--ink);box-shadow:8px 8px 0 rgba(20,8,11,.85);margin:0;padding:6px}
.nav.open{display:flex}
.nav a{min-height:50px;padding:0 14px;font-size:16px;border-bottom:1px solid rgba(20,8,11,.22)}
.nav a:last-child{border-bottom:0}
.mb .btn.key{padding:6px 12px;font-size:13.5px}
.mb .btn.key::before{content:none}
.path-in{padding:0 16px}
.wrap{padding:52px 16px 64px;border-left:0;border-right:0}
.sh{margin-bottom:30px;gap:12px}
.lead{font-size:16px;margin-top:20px}
.cells,.cells.c3{grid-template-columns:minmax(0,1fr)}
.steps{grid-template-columns:minmax(0,1fr);gap:32px}
.uses{grid-template-columns:minmax(0,1fr)}
.uses li,.uses li:nth-child(even){padding:24px 0;border-right:0}
.doc{grid-template-columns:minmax(0,1fr);gap:40px}
.rail{position:static;max-height:none;overflow:visible;padding:0 8px 0 0}
.dlg-side{display:none}
.ph-g,.price-g,.art-g{grid-template-columns:minmax(0,1fr);gap:40px;align-items:start}
.phead .wrap{padding-top:40px;padding-bottom:56px}
.keyhero .wrap{padding-top:32px;padding-bottom:60px}
.key-g{grid-template-columns:minmax(0,1fr);grid-template-areas:"h" "f" "b";gap:28px}
.calc{grid-template-columns:minmax(0,1fr)}
.dlg{box-shadow:7px 7px 0 var(--sh);margin-right:7px;padding:7px}
.b-red .dlg{box-shadow:7px 7px 0 rgba(20,8,11,.82)}
.dlg-in{padding:30px 16px 20px}
.dlg-t{top:9px;max-width:calc(100% - 120px)}
.dlg::before{top:9px;left:16px}
.dlg-code .dlg-in{padding:28px 8px 8px}
.dlg-cta .dlg-in,.dlg-nf .dlg-in{padding:38px 18px 26px}
.facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.facts>div{padding:22px 12px 20px 0;border-bottom:1px solid var(--rule)}
.facts>div:nth-child(3){border-right:1px solid var(--rule)}
.facts>div:nth-child(even){border-right:0;padding-left:16px}
.facts>div:last-child{grid-column:1/-1;border-bottom:0}
.fkeys{padding:22px 16px 0}
.fkeys a{flex:1 1 100%}
.fkeys span{flex:1}
.fkeys b{min-width:3ch}
.ft-in{padding:28px 16px 36px;grid-template-columns:minmax(0,1fr)}
.cta .wrap,.nf .wrap{padding-top:56px;padding-bottom:68px}
.prose pre.code{box-shadow:5px 5px 0 var(--red);margin-right:5px}
.prose.gap{margin-top:52px}
.acts .btn.big{flex:1 1 100%}
h1{text-shadow:3px 3px 0 rgba(20,8,11,.55)}
}
@media (max-width:420px){
body{font-size:15px}
.logo{font-size:22px;max-width:104px}
.faq summary{padding-left:4.6ch;font-size:15.5px}
.faq summary::before{left:2px}
.faq details p{padding-left:4.6ch}
.price dd{width:3.2em}
}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
}
