/* agentfirewall.ru — стиль «Пост охраны». Все стили только здесь: inline запрещён CSP. */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/inter-cyrillic-800-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/inter-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jetbrains-mono-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/jetbrains-mono-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{--bg:#0b0e14;--bg2:#121722;--panel:#161c29;--panel2:#0a0d13;--line:#243043;--txt:#e8ecf3;--mut:#8b96ab;--amber:#f5b942;--amber2:#ffd67a;--green:#4fd38a;--red:#ff6b6b;--violet:#c9a0ff;--blue:#7cc4ff;--mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;--sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--r:14px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--txt);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased;min-width:320px}
a{color:inherit;text-decoration:none}
a:hover{color:var(--amber2)}
img,picture{display:block;max-width:100%}
code,pre,.mono{font-family:var(--mono)}
code{font-size:.92em;background:rgba(255,255,255,.05);padding:1px 5px;border-radius:5px}
pre code{background:none;padding:0;font-size:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.js-hide{display:none!important}
.muted{color:var(--mut)}.small{font-size:13px}
.ok{color:var(--green)}.no{color:var(--red)}.pt{color:var(--amber)}
.skip{position:absolute;left:-9999px;top:8px;background:var(--amber);color:#1a1200;padding:8px 12px;border-radius:8px;z-index:50}
.skip:focus{left:8px}
mark{background:rgba(245,185,66,.22);color:var(--amber2);padding:0 4px;border-radius:4px}

/* header */
.hdr{position:sticky;top:0;z-index:20;backdrop-filter:blur(10px);background:rgba(11,14,20,.8);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:24px;height:64px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.02em}
.logo i{width:28px;height:28px;border:2px solid var(--amber);border-radius:6px;position:relative;display:block;flex:none}
.logo i::after{content:"";position:absolute;left:50%;top:4px;bottom:4px;width:2px;background:var(--amber);transform:translateX(-50%);animation:slit 6s ease-in-out infinite}
@keyframes slit{0%,100%{opacity:.35}50%{opacity:1}}
.nav{display:flex;gap:20px;margin-left:auto;font-size:14px;color:var(--mut)}
.nav a:hover,.nav a[aria-current]{color:var(--txt)}
.nav a[aria-current]{color:var(--amber)}
.burger{display:none;margin-left:auto;width:40px;height:40px;background:none;border:1px solid var(--line);border-radius:10px;cursor:pointer;position:relative}
.burger span,.burger span::before,.burger span::after{content:"";position:absolute;left:10px;width:18px;height:2px;background:var(--txt);transition:transform .25s,top .25s}
.burger span{top:19px}.burger span::before{top:-6px;left:0}.burger span::after{top:6px;left:0}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
.mnav{display:none;flex-direction:column;gap:4px;padding:10px 16px 18px;border-top:1px solid var(--line);background:var(--bg)}
.mnav a{padding:10px 6px;font-size:16px;border-bottom:1px solid var(--line)}
.mnav .btn{margin-top:10px;justify-content:center;border-bottom:0}
.mnav.is-open{display:flex}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:10px;font-weight:600;font-size:15px;border:1px solid var(--line);background:var(--panel);color:var(--txt);cursor:pointer;font-family:inherit;transition:transform .2s,background .2s,border-color .2s;line-height:1.2}
.btn:hover{transform:translateY(-1px);color:var(--txt)}
.btn-p{background:var(--amber);color:#1a1200;border-color:var(--amber)}
.btn-p:hover{background:var(--amber2);color:#1a1200}
.btn-g{background:var(--panel)}
.btn-s{padding:6px 12px;font-size:13px;border-radius:8px}
.btn[disabled]{opacity:.6;cursor:default;transform:none}
.cta,.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.cta-row{margin:26px 0 18px}

/* hero */
.hero{padding:64px 0 48px;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.tag-line{display:inline-flex;gap:8px;align-items:center;font-family:var(--mono);font-size:12px;color:var(--amber);border:1px solid rgba(245,185,66,.35);padding:6px 10px;border-radius:999px;margin-bottom:22px;max-width:100%;flex-wrap:wrap}
.tag-line b{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 3s ease-in-out infinite;flex:none}
@keyframes pulse{0%,100%{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}
h1{font-size:clamp(32px,4.6vw,56px);line-height:1.05;letter-spacing:-.02em;font-weight:800}
h1 em{font-style:normal;color:var(--amber)}
.lead{color:var(--mut);font-size:18px;margin:22px 0 30px;max-width:560px}

/* door */
.door{position:relative;height:420px;border-radius:20px;background:linear-gradient(180deg,#141a27,#0d1119);border:1px solid var(--line);overflow:hidden}
.door .frame{position:absolute;left:50%;top:48px;bottom:48px;width:150px;transform:translateX(-50%);border:2px solid #2d3a52;border-radius:8px 8px 0 0;background:#0a0d13}
.door .light{position:absolute;left:50%;top:0;bottom:0;width:4px;transform:translateX(-50%);background:var(--amber);box-shadow:0 0 24px 6px rgba(245,185,66,.45);animation:breathe 7s ease-in-out infinite}
@keyframes breathe{0%,100%{opacity:.45}50%{opacity:1}}
.lane{position:absolute;left:0;right:0;top:48px;bottom:48px}
.guest{position:absolute;font-family:var(--mono);font-size:12px;padding:6px 10px;border-radius:8px;background:rgba(22,28,41,.92);border:1px solid var(--line);display:flex;gap:8px;align-items:center;opacity:0;animation:pass 16s linear infinite;white-space:nowrap}
.guest i{width:8px;height:8px;border-radius:50%}
.guest.ok i{background:var(--green)}.guest.no i{background:var(--red)}.guest.pt i{background:var(--amber)}
.guest.ok{animation-name:pass}.guest.no{animation-name:stop}.guest.pt{animation-name:wait}
.guest:nth-child(1){top:6%;animation-delay:0s}.guest:nth-child(2){top:30%;animation-delay:-4s}.guest:nth-child(3){top:54%;animation-delay:-8s}.guest:nth-child(4){top:78%;animation-delay:-12s}
@keyframes pass{0%{right:calc(100% + 20px);opacity:0}6%{opacity:1}40%{right:calc(50% + 77px);opacity:1}50%{right:calc(50% - 40px);opacity:.3}60%{right:14%;opacity:1}84%{right:-6%;opacity:1}92%{right:-12%;opacity:0}100%{right:-12%;opacity:0}}
@keyframes stop{0%{right:calc(100% + 20px);opacity:0}6%{opacity:1}42%{right:calc(50% + 77px);opacity:1}54%{right:calc(50% + 77px);opacity:1}76%{right:calc(100% - 60px);opacity:.6}82%{right:calc(100% + 20px);opacity:0}100%{right:calc(100% + 20px);opacity:0}}
@keyframes wait{0%{right:calc(100% + 20px);opacity:0}6%{opacity:1}36%{right:calc(50% + 77px);opacity:1}58%{right:calc(50% + 77px);opacity:1}64%{right:calc(50% - 40px);opacity:.3}72%{right:14%;opacity:1}88%{right:-6%;opacity:1}94%{right:-12%;opacity:0}100%{right:-12%;opacity:0}}
.guest.no::after{content:"стоп";color:var(--red);margin-left:4px;opacity:0;animation:tagf 16s linear infinite;animation-delay:inherit}
.guest.pt::after{content:"ждёт";color:var(--amber);margin-left:4px;opacity:0;animation:tagf 16s linear infinite;animation-delay:inherit}
@keyframes tagf{0%,40%{opacity:0}44%,56%{opacity:1}60%,100%{opacity:0}}
.door .list{position:absolute;left:0;right:0;bottom:16px;text-align:center;font-family:var(--mono);font-size:11px;color:var(--mut);display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.door .list em{font-style:normal;color:var(--amber)}.door .list b{font-weight:400}.door .list span{color:var(--green)}.door .list s{color:var(--red);text-decoration:none}
@media(prefers-reduced-motion:reduce){.guest,.door .light,.logo i::after,.tag-line b,.card::after,.pic-empty .light{animation:none!important}.guest{opacity:1;right:auto;left:8px}}

/* sections */
.sec{padding:56px 0}
.hdr-sec{padding:48px 0 24px}
.kicker{font-family:var(--mono);font-size:12px;color:var(--amber);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
h2{font-size:clamp(24px,3vw,36px);letter-spacing:-.02em;line-height:1.1;margin-bottom:14px}
h3{font-size:21px;margin-bottom:10px}
.sub{color:var(--mut);max-width:640px;font-size:17px}
.meta{color:var(--mut);font-size:12px;margin-top:14px}
.two,.two-hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.two>*,.two-hero>*,.spec-grid>*,.gen>*,.gen-preview>*,.article>*,.bot-head>*,.hero .wrap>*{min-width:0}
.two-hero{grid-template-columns:1.15fr .85fr}
.more{margin-top:22px}
.crumbs{font-size:13px;color:var(--mut);margin-bottom:22px}
.crumbs span{color:var(--txt)}

/* pictures — без рамок: фон картинки подогнан под цвет блока, края растворяются маской */
.pic{display:block;background:none;border:0;border-radius:0;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 9%,#000 91%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 12%,#000 88%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0,#000 9%,#000 91%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 12%,#000 88%,transparent 100%);
  mask-composite:intersect}
.pic img{width:100%;height:auto}
.pic-sq{width:calc(100% + 52px);margin:-6px -26px 14px;transition:transform .5s;
  -webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 58%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 58%,transparent 100%)}
.pic-sq img{width:100%;height:auto;aspect-ratio:2/1;object-fit:cover}
.card:hover .pic-sq{transform:scale(1.03)}
.pic-wide{margin-top:20px}
.pic-wide img{aspect-ratio:3/1;object-fit:cover}
.pic-hero img{aspect-ratio:16/9;object-fit:cover}
.pic-card{max-width:380px}
.pic-card img{aspect-ratio:4/3;object-fit:cover}
.pic-empty{position:relative;aspect-ratio:16/9;background:linear-gradient(180deg,#141a27,#0d1119)}
.pic-empty .light{position:absolute;left:50%;top:18%;bottom:18%;width:4px;transform:translateX(-50%);background:var(--amber);box-shadow:0 0 24px 6px rgba(245,185,66,.45);animation:breathe 7s ease-in-out infinite}
/* cards / paths */
.paths{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px;position:relative;overflow:hidden;transition:border-color .3s;display:block}
.card:hover{border-color:rgba(245,185,66,.5);color:inherit}
.card .n{font-family:var(--mono);font-size:12px;color:var(--mut);margin-bottom:14px}
.card p{color:var(--mut);font-size:15px;margin-bottom:18px}
.card .go{color:var(--amber);font-weight:600;font-size:14px}
.card::after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(245,185,66,.18),transparent 70%);animation:glow 9s ease-in-out infinite;pointer-events:none}
@keyframes glow{0%,100%{opacity:.4}50%{opacity:1}}

/* check */
.check{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.form-line{display:flex;gap:10px;margin-top:22px}
.form-line input{flex:1;min-width:0;background:var(--bg);border:1px solid var(--line);color:var(--txt);padding:14px 16px;border-radius:10px;font-size:16px;font-family:var(--mono)}
input:focus,textarea:focus,select:focus,button:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.term{background:var(--panel2);border:1px solid var(--line);border-radius:var(--r);padding:18px;font-family:var(--mono);font-size:13px;line-height:1.8}
.term .h{color:var(--mut);border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:10px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.term-foot{margin-top:10px;color:var(--mut)}
.term .cur{display:inline-block;width:8px;height:14px;background:var(--amber);vertical-align:-2px;animation:slit 1.4s steps(2) infinite}
.stat-row{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0 28px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.stat span{display:block;font-size:11px;color:var(--mut);letter-spacing:.06em;text-transform:uppercase}
.stat b{display:block;margin-top:6px;font-size:15px}
.remarks{margin:0 0 30px}
.rem{list-style:none;counter-reset:r;display:grid;gap:10px}
.rem li{counter-increment:r;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:12px;padding:14px 16px 14px 48px;position:relative;font-size:15px}
.rem li::before{content:counter(r);position:absolute;left:16px;top:13px;font-family:var(--mono);color:var(--amber);font-weight:600}
.rem .rem-bad{border-left-color:var(--red)}.rem .rem-bad::before{color:var(--red)}
.rem .rem-ok{border-left-color:var(--green)}.rem .rem-ok::before{color:var(--green)}
.rem .rem-info{border-left-color:var(--blue)}.rem .rem-info::before{color:var(--blue)}
.warn{background:rgba(255,107,107,.08);border:1px solid rgba(255,107,107,.35);border-radius:12px;padding:12px 16px;font-size:14px;margin:14px 0}
.warn.big{font-size:17px;padding:20px}
.ok-box{background:rgba(79,211,138,.1);border:1px solid rgba(79,211,138,.4);border-radius:12px;padding:14px 16px;margin-top:16px}

/* tables */
.tbl-wrap{overflow-x:auto;margin-top:24px}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:left;font-family:var(--mono);font-size:11px;color:var(--mut);letter-spacing:.06em;text-transform:uppercase;padding:0 12px 12px;border-bottom:1px solid var(--line);font-weight:600}
.tbl td{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tbody tr:hover td{background:rgba(255,255,255,.02)}
.tbl .b{font-family:var(--mono);font-weight:600}
.tbl .date{color:var(--mut);font-family:var(--mono);font-size:12px;white-space:nowrap}
.tbl-spec th{padding:13px 12px;text-transform:none;letter-spacing:0;font-size:13px;color:var(--mut);width:34%;vertical-align:top;border-bottom:1px solid var(--line);font-family:var(--sans);font-weight:600}
.tbl-price td,.tbl-price th{font-size:13.5px}.tbl-price tbody th{display:none}
.tbl-spec thead th{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;width:auto;padding:0 12px 12px}
.pill{display:inline-block;font-family:var(--mono);font-size:11px;padding:3px 8px;border-radius:6px;border:1px solid var(--line);white-space:nowrap}
.pill-train{color:var(--violet);border-color:rgba(201,160,255,.35)}
.pill-search{color:var(--blue);border-color:rgba(124,196,255,.35)}
.pill-agent{color:var(--amber);border-color:rgba(245,185,66,.35)}
.pill-other{color:var(--mut)}
.tag{display:inline-block;font-family:var(--mono);font-size:10px;padding:2px 6px;border-radius:5px;background:rgba(139,150,171,.15);color:var(--mut);vertical-align:middle;white-space:nowrap}
.tag-warn{background:rgba(245,185,66,.15);color:var(--amber)}
.stale{color:var(--amber)}
.ua{display:inline-block;max-width:100%;overflow-wrap:anywhere;font-size:12px;margin:2px 0}

/* filters */
.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:8px}
.filters input{background:var(--bg2);border:1px solid var(--line);color:var(--txt);padding:10px 14px;border-radius:10px;font-size:14px;min-width:220px;font-family:var(--sans)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{display:inline-block;font-size:13px;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--mut);cursor:pointer;font-family:inherit;transition:border-color .2s,color .2s}
.chip:hover{color:var(--txt)}
.chip.is-on{border-color:var(--amber);color:var(--amber)}
a.chip{color:var(--txt)}

/* notes */
.note-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}
.note{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;font-size:14px}
.note b{display:block;font-size:16px;margin-bottom:8px}
.note p,.note li{color:var(--mut)}
.note ul,.note ol{padding-left:18px;line-height:1.7}
.note a{color:var(--amber)}
.note-p{color:var(--mut);font-size:14px;margin-top:14px;line-height:1.6}

/* bot card */
.bot-head{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:center}
.spec-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px}
.spec{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px}
.spec .tbl{margin-top:4px}
.spec .tbl td{font-size:14px}
.related{margin-top:26px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--mut);font-size:14px}
.pager{display:flex;justify-content:space-between;gap:12px;margin-top:30px;padding-top:18px;border-top:1px solid var(--line);font-size:14px;flex-wrap:wrap}
.pager a{color:var(--amber)}

/* code */
.code{background:var(--panel2);border:1px solid var(--line);border-radius:var(--r);padding:18px;font-family:var(--mono);font-size:13px;line-height:1.7;white-space:pre;overflow:auto;color:#cfd6e3;tab-size:4}
.code.tall{min-height:420px;max-height:70vh}
.code .c{color:#5b6579}.code .k{color:var(--amber)}
.codebox{margin-top:14px}
.codebox .code{border-radius:0 0 var(--r) var(--r);margin:0}
.codebox-h{display:flex;justify-content:space-between;align-items:center;background:var(--bg2);border:1px solid var(--line);border-bottom:0;border-radius:var(--r) var(--r) 0 0;padding:8px 10px 8px 16px;font-family:var(--mono);font-size:12px;color:var(--mut)}
.btn-s.is-done{background:var(--green);color:#06301a;border-color:var(--green)}

/* generator */
.gen{display:grid;grid-template-columns:.95fr 1.05fr;gap:28px;align-items:start}
.gen-preview{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;margin-top:30px;align-items:start}
.opts{display:grid;gap:10px}
.opt{display:flex;gap:12px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);padding:14px 16px;border-radius:12px;cursor:pointer;transition:border-color .2s}
.opt:hover{border-color:rgba(245,185,66,.4)}
.opt>span:last-child{display:block}
.opt b{display:block;font-size:15px}.opt span span{display:block;color:var(--mut);font-size:14px;margin-top:2px}
.sw{width:38px;height:22px;border-radius:999px;background:#2a3446;position:relative;flex:none;margin-top:2px;transition:background .2s}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}
.sw.on,.opt input:checked+.sw{background:var(--green)}
.sw.on::after,.opt input:checked+.sw::after{transform:translateX(16px)}
.opt input:focus-visible+.sw{outline:2px solid var(--amber);outline-offset:2px}
.seg{display:grid;gap:8px;margin-bottom:22px}
.seg-i{display:flex;gap:12px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer}
.seg-i input{margin-top:5px;accent-color:var(--amber)}
.seg-i b{display:block;font-size:15px}.seg-i small{display:block;color:var(--mut);font-size:13px}
.seg-i:has(input:checked){border-color:var(--amber)}
.field{margin-top:16px}
.field label{display:block;font-size:13px;color:var(--mut);margin-bottom:6px}
.field input,.field textarea,.field select{width:100%;background:var(--bg2);border:1px solid var(--line);color:var(--txt);padding:12px 14px;border-radius:10px;font-size:16px;font-family:var(--sans)}
.tabs{display:flex;gap:4px;background:var(--panel);padding:4px;border-radius:12px;margin-bottom:12px;overflow-x:auto}
.tab{flex:1;padding:9px 10px;border-radius:9px;font-size:13px;color:var(--mut);background:none;border:0;cursor:pointer;font-family:var(--mono);white-space:nowrap}
.tab.is-on{background:var(--amber);color:#1a1200;font-weight:600}

/* threats */
.thr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.thr{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:8px;transition:border-color .3s}
.thr:hover{border-color:rgba(245,185,66,.5);color:inherit}
.thr .n{font-family:var(--mono);font-size:12px;color:var(--mut)}
.thr h3{font-size:19px}.thr p{color:var(--mut);font-size:14px;flex:1}.thr .go{color:var(--amber);font-weight:600;font-size:14px}

/* article */
.article{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}
.article article{max-width:760px;font-size:16.5px;line-height:1.65}
.article h2{font-size:26px;margin:36px 0 12px}
.article h2:first-child{margin-top:0}
.article h3{font-size:19px;margin:24px 0 8px}
.article p{margin:0 0 14px}
.article ul,.article ol{margin:0 0 16px;padding-left:22px}
.article li{margin-bottom:6px}
.article .code{margin:14px 0 20px}
.article .tbl-wrap{margin:8px 0 20px}
.article hr{border:0;border-top:1px solid var(--line);margin:28px 0}
.article a{color:var(--amber)}
.doc h2{font-size:22px}
.aside{display:grid;gap:14px;position:sticky;top:80px}

/* faq */
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{cursor:pointer;font-weight:600;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--amber);font-family:var(--mono);flex:none}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--mut);margin-top:10px;max-width:760px}

/* lead form */
.form-sec{background:var(--bg2);border-top:1px solid var(--line)}.form-sec .two{align-items:start}
.lead-form{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px}
.lead-form .field{margin-top:14px}
.lead-form .field:first-of-type{margin-top:0}
.req-mark{color:var(--amber)}
.phone-row{display:flex;gap:8px}
.phone-row select{width:150px;flex:none}
.phone-row input{flex:1;min-width:0}
.field-hint{font-size:12px;color:var(--mut);margin-top:6px}
.field-err,.form-err{font-size:13px;color:var(--red);margin-top:6px;min-height:0}
.field-err:empty,.form-err:empty{display:none}
.has-err input,.has-err select,.has-err textarea{border-color:var(--red)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--mut);margin-top:16px}
.consent input{margin-top:4px;accent-color:var(--amber)}
.consent a{color:var(--amber)}
.lead-form .btn{margin-top:18px;width:100%}
.lead-form .small{margin-top:12px}
.honey{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}

/* 404 */
.nf{text-align:center;max-width:720px}
.nf-img{margin:0 auto 20px;-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 60%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 60%,transparent 100%)}
.nf .cta{justify-content:center}

/* footer */
.ftr{background:#070a0f;border-top:1px solid var(--line);padding:48px 0 32px;font-size:14px;color:var(--mut)}
.ftr .wrap{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px}
.ftr b{color:var(--txt)}
.ftr ul{list-style:none;line-height:2}
.ftr-sub{display:block;margin-top:14px}
.ftr-addr{margin-top:8px}.ftr-addr summary{cursor:pointer;color:var(--amber)}
.fbadge{margin:34px 0 0}.fbadge a{display:inline-block;line-height:0}.fbadge img{max-width:100%;height:auto}
.ftr-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px;font-size:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

/* mobile */
@media(max-width:1000px){.stat-row{grid-template-columns:repeat(3,1fr)}.note-grid,.paths,.thr-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){
.nav,.hdr-cta{display:none}.burger{display:block}
.hero .wrap,.two,.two-hero,.gen,.gen-preview,.spec-grid,.article,.bot-head{grid-template-columns:1fr}
.aside{position:static}
.paths,.note-grid,.thr-grid{grid-template-columns:1fr}
.ftr .wrap{grid-template-columns:1fr}
.door{height:340px}.door .frame,.lane{top:28px;bottom:64px}.door .frame{width:110px}.guest{font-size:11px;padding:5px 8px}.door .list{bottom:12px;gap:10px;font-size:10px;padding:0 10px}
@keyframes pass{0%{right:calc(100% + 20px);opacity:0}6%{opacity:1}40%{right:calc(50% + 57px);opacity:1}50%{right:calc(50% - 30px);opacity:.3}60%{right:10%;opacity:1}84%{right:-6%;opacity:1}92%{right:-12%;opacity:0}100%{right:-12%;opacity:0}}
@keyframes stop{0%{right:calc(100% + 20px);opacity:0}6%{opacity:1}42%{right:calc(50% + 57px);opacity:1}54%{right:calc(50% + 57px);opacity:1}76%{right:calc(100% - 60px);opacity:.6}82%{right:calc(100% + 20px);opacity:0}100%{right:calc(100% + 20px);opacity:0}}
@keyframes wait{0%{right:calc(100% + 20px);opacity:0}6%{opacity:1}36%{right:calc(50% + 57px);opacity:1}58%{right:calc(50% + 57px);opacity:1}64%{right:calc(50% - 30px);opacity:.3}72%{right:10%;opacity:1}88%{right:-6%;opacity:1}94%{right:-12%;opacity:0}100%{right:-12%;opacity:0}}
.form-line{flex-direction:column}
.stat-row{grid-template-columns:1fr 1fr}
.pic-card{max-width:100%}
.tbl-wrap{overflow:visible}
.tbl-bots thead,.tbl-check thead,.tbl-price thead{display:none}
.tbl-bots tr,.tbl-check tr,.tbl-price tr{display:block;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;padding:6px 4px;background:var(--panel)}
.tbl-bots td,.tbl-check td,.tbl-price td{display:flex;justify-content:space-between;gap:12px;border:0;padding:7px 10px;text-align:right}
.tbl-bots td::before,.tbl-check td::before,.tbl-price td::before{content:attr(data-l);color:var(--mut);font-family:var(--mono);font-size:11px;text-transform:uppercase;text-align:left;flex:none}
.tbl-spec th{width:40%}
.code.tall{min-height:260px}
.tabs .tab{flex:none}
}
@media(max-width:420px){.wrap{padding:0 14px}.btn{padding:11px 14px;font-size:14px}.phone-row select{width:120px}.lead-form{padding:18px}.hero{padding:40px 0 32px}}
