/* АБУZZИЩЕ — главная. Тёмная ретро-ОС + газета. Палитра и контрасты: PROMPT.md §6 */
@font-face{font-family:"Oswald";src:url(../fonts/oswald-cyrillic-wght-normal.woff2) format("woff2");font-weight:200 700;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Oswald";src:url(../fonts/oswald-latin-wght-normal.woff2) format("woff2");font-weight:200 700;font-display:swap;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+20BD,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Golos Text";src:url(../fonts/golos-text-cyrillic-wght-normal.woff2) format("woff2");font-weight:400 900;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";src:url(../fonts/golos-text-latin-wght-normal.woff2) format("woff2");font-weight:400 900;font-display:swap;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+20BD,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";src:url(../fonts/jetbrains-mono-cyrillic-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"JetBrains Mono";src:url(../fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20BD,U+2191,U+2193}
@font-face{font-family:"JetBrains Mono";src:url(../fonts/jetbrains-mono-cyrillic-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"JetBrains Mono";src:url(../fonts/jetbrains-mono-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20BD,U+2191,U+2193}
@font-face{font-family:"Caveat";src:url(../fonts/caveat-cyrillic-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Caveat";src:url(../fonts/caveat-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20BD}
@font-face{font-family:"Press Start 2P";src:url(../fonts/press-start-2p-cyrillic-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Press Start 2P";src:url(../fonts/press-start-2p-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F}

/* АБУZZИЩЕ — плоский нео-ретро: без рамок и линий, пиксельные углы, чёрно-красный + бумага. Контрасты: PROMPT.md §6 */
:root{
  --ink:#0D0D0D; --ink-2:#161616; --ink-3:#1E1E1E; --ink-4:#2A2A2A;
  --red:#E8383A; --red-text:#FF4D57; --red-deep:#C8102E; --red-hover:#DA1636; --red-dark:#7A0B1A;
  --paper:#FFFAF7; --paper-2:#F3ECE5; --paper-3:#E9E1D8; --concrete:#D5D5D5;
  --muted:#A8A8A8; --muted-paper:#4D4D4D; --cream:#F2EEE9;
  --poster:"Oswald","Arial Narrow",Impact,sans-serif;
  --text:"Golos Text",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --hand:"Caveat","Comic Sans MS",cursive;
  --dock-w:0px; --gutter:clamp(1rem,.5rem + 2.5vw,3rem); --tb:0px;
  --focus:#fff;
  --pix4:polygon(0 8px,4px 8px,4px 4px,8px 4px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px));
  --pix8:polygon(0 16px,8px 16px,8px 8px,16px 8px,16px 0,calc(100% - 16px) 0,calc(100% - 16px) 8px,calc(100% - 8px) 8px,calc(100% - 8px) 16px,100% 16px,100% calc(100% - 16px),calc(100% - 8px) calc(100% - 16px),calc(100% - 8px) calc(100% - 8px),calc(100% - 16px) calc(100% - 8px),calc(100% - 16px) 100%,16px 100%,16px calc(100% - 8px),8px calc(100% - 8px),8px calc(100% - 16px),0 calc(100% - 16px));
  --pix8-top:polygon(0 16px,8px 16px,8px 8px,16px 8px,16px 0,calc(100% - 16px) 0,calc(100% - 16px) 8px,calc(100% - 8px) 8px,calc(100% - 8px) 16px,100% 16px,100% 100%,0 100%);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px;background:var(--ink)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ink);color:var(--cream);font:400 1.125rem/1.6 var(--text);overflow-x:clip}
img,svg{display:block;max-width:100%}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3,h4{margin:0;font-weight:700}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
:focus-visible{outline:2px dashed var(--focus);outline-offset:3px}
.s-paper,.s-concrete,.s-red,.card--paper{--focus:#0D0D0D}
.skip{position:absolute;left:1rem;top:-100px;z-index:200;background:var(--paper);color:var(--ink);padding:.75rem 1rem;font-weight:700}
.skip:focus{top:1rem}
.pxl{shape-rendering:crispEdges}

.wrap{padding-left:calc(var(--dock-w) + var(--gutter));padding-right:var(--gutter);max-width:calc(1240px + var(--dock-w) + 2 * var(--gutter));margin:0 auto}
section{position:relative}
.kicker{font:700 .8125rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 1rem;color:var(--muted)}
.s-paper .kicker,.s-concrete .kicker{color:var(--muted-paper)}
.s-red .kicker{color:var(--ink)}

/* ---------- кнопки: плоские, пиксельные углы, фокус внутри ---------- */
.win-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:52px;padding:.8rem 1.4rem;border:0;clip-path:var(--pix4);background:var(--ink-3);color:#fff;font:700 1rem/1.2 var(--text);text-decoration:none;cursor:pointer;text-align:center;transition:background-color .15s,transform .15s}
.win-btn:hover{background:var(--ink-4)}
.win-btn:active{transform:translateY(1px)}
.win-btn--red{background:var(--red-deep);color:#fff}
.win-btn--red:hover{background:var(--red-hover)}
.win-btn--light{background:var(--cream);color:var(--ink)}
.win-btn--light:hover{background:#fff}
.win-btn--big{min-height:60px;padding:1rem 1.75rem;font-size:1.0625rem}
.win-btn svg{width:22px;height:22px;flex:none}
.win-btn:focus-visible{outline:2px dashed #fff;outline-offset:-7px}
.win-btn--light:focus-visible{outline-color:var(--ink)}

/* ---------- окно: плоское ---------- */
.win{--wb:#fff;background:var(--wb);color:var(--ink);clip-path:var(--pix8);--focus:#0D0D0D}
.win--dark{--wb:var(--ink-2);color:var(--cream);--focus:#fff}
.win--paper{--wb:var(--paper-2)}
.win__bar{display:flex;align-items:center;gap:.6rem;min-height:44px;padding:.45rem .9rem .45rem 1rem;background:var(--red-deep);color:#fff}
.win__ico,.win__bar>svg{width:22px;height:22px;flex:none}
.win__title{flex:1;min-width:0;font:700 1rem/1.25 var(--text);letter-spacing:.01em}
.win__ctl{display:flex;gap:6px;pointer-events:none}
.win__ctl span{display:grid;place-items:center;width:22px;height:22px;background:rgba(255,255,255,.18);color:#fff;font:700 .8125rem/1 var(--mono)}
.win__body{padding:clamp(1rem,.7rem + 1vw,1.6rem)}
.win__status{margin:0;padding:.6rem 1.1rem .9rem;font:400 .875rem/1.45 var(--mono);color:var(--muted-paper)}
.win--dark .win__status{color:var(--muted)}

/* ---------- угловые подписи ---------- */
.corners{--edge:calc(max(0px,(100% - 1240px - 2 * var(--gutter)) / 2) + var(--gutter));position:absolute;inset:clamp(.9rem,.5rem + 1vw,1.6rem) var(--edge);pointer-events:none;font:700 .75rem/1.25 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);z-index:1}
.corner{position:absolute;max-width:14em}
.corner--tl{top:0;left:0}.corner--tr{top:0;right:0;text-align:right}
.corner--bl{bottom:0;left:0;display:flex;align-items:center;gap:.5rem}.corner--br{bottom:0;right:0;display:flex;align-items:center;gap:.45rem}
.corner b{font:italic 700 1.05rem/1 var(--poster);letter-spacing:.02em;color:var(--red-text)}
.corner svg{width:20px;height:20px}
.s-paper .corners,.s-concrete .corners{color:var(--muted-paper)}
.s-paper .corner b,.s-concrete .corner b{color:var(--red-deep)}
@media (max-width:640px){.corners{display:none}}

/* ---------- шапка с навигацией (липкая) ---------- */
.top{position:sticky;top:0;z-index:60;background:var(--ink)}
.top__in{position:relative;display:flex;align-items:center;gap:clamp(.75rem,1.5vw,1.5rem);min-height:72px}
.brand{display:inline-flex;align-items:center;gap:.7rem;min-height:48px;margin-right:auto;text-decoration:none;color:#fff}
.brand .logo-mark{width:44px;height:auto}
.brand__name{font:700 1.5rem/1 var(--poster);letter-spacing:.02em;text-transform:uppercase}
.brand__name em{font-style:normal;color:var(--red-text)}
.topnav{display:flex;align-items:center}
.topnav__list{display:flex;align-items:center;gap:.25rem}
.topnav__list a{display:inline-flex;align-items:center;min-height:44px;padding:0 .7rem;color:var(--cream);font:600 .9375rem/1.2 var(--text);text-decoration:none;clip-path:var(--pix4);transition:background-color .15s}
.topnav__list a:hover{background:var(--ink-3);color:#fff}
.topnav__list a[aria-current]{color:var(--red-text);background:var(--ink-3)}
.topnav__list a:focus-visible{outline:2px dashed #fff;outline-offset:-5px}
.menu-btn{display:none;align-items:center;gap:.5rem;min-height:46px;padding:.5rem .9rem;border:0;clip-path:var(--pix4);background:var(--ink-3);color:#fff;font:700 .9375rem/1.2 var(--text);cursor:pointer}
.menu-btn:hover,.menu-btn[aria-expanded="true"]{background:var(--ink-4)}
.menu-btn:focus-visible{outline:2px dashed #fff;outline-offset:-6px}
.menu-btn svg{width:20px;height:20px}
.top__join{min-height:46px;padding:.55rem 1.1rem;font-size:.9375rem}
.start-menu{display:flex;width:min(340px,calc(100vw - 2 * var(--gutter)));background:var(--ink-2);color:#fff;clip-path:var(--pix8)}
.js .start-menu{position:absolute;z-index:70;right:var(--gutter);top:calc(100% + 6px)}
.start-menu[hidden]{display:none}
.start-menu__side{flex:none;width:32px;background:var(--red-deep);color:#fff;display:flex;align-items:flex-end;justify-content:center;padding:.8rem 0}
.start-menu__side span{writing-mode:vertical-rl;transform:rotate(180deg);font:700 1.05rem/1 var(--poster);letter-spacing:.06em;text-transform:uppercase}
.start-menu__list{flex:1;padding:.5rem 0;max-height:calc(100dvh - 100px);overflow-y:auto}
.start-menu a{display:flex;align-items:center;gap:.7rem;min-height:48px;padding:.45rem 1rem;color:#fff;text-decoration:none;font:500 1.0625rem/1.25 var(--text)}
.start-menu a:hover{background:var(--red-deep)}
.start-menu a[aria-current]{color:var(--red-text);font-weight:700}
.start-menu a[aria-current]:hover{color:#fff}
.start-menu a:focus-visible{outline:2px dashed #fff;outline-offset:-4px}
.start-menu a svg{width:20px;height:20px;flex:none}
@media (max-width:1139.98px){
  .topnav__list{display:none}
  .menu-btn{display:inline-flex}
}
@media (min-width:1140px){.start-menu{display:none!important}}
@media (max-width:1139.98px){html:not(.js) .top__in{flex-wrap:wrap}html:not(.js) .start-menu{order:5;width:100%}}
@media (max-width:440px){.brand__name{display:none}.top__in{min-height:64px}}
@media (max-height:420px){.top{position:relative}}
html:not(.js) .top{position:relative}
html:not(.js) .menu-btn{display:none!important}

/* ---------- герой главной ---------- */
.hero{background:var(--ink);overflow:clip;padding:clamp(3.5rem,2rem + 6vw,7rem) 0 clamp(4rem,2rem + 6vw,7.5rem)}
.hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1rem,2vw,2.5rem);align-items:center}
.hero__h1{display:block}
.hero__slogan{display:block;font:700 clamp(3.25rem,1.2rem + 7.2vw,8.125rem)/.86 var(--poster);text-transform:uppercase;letter-spacing:-.01em;color:var(--red)}
.hero__slogan span{display:block}
.hero__lead{display:block;margin-top:clamp(1.25rem,1rem + 1vw,2rem);max-width:30ch;font:600 clamp(1.375rem,1.1rem + .9vw,1.875rem)/1.25 var(--text);color:#fff}
.hero__text{max-width:46ch;margin:1.1rem 0 1.75rem;color:var(--cream)}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px}
.pluses{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;margin-top:1.75rem;font:700 .875rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--cream)}
.pluses li::before{content:"+";color:var(--red-text);margin-right:.45rem}
.hero__art{position:relative;justify-self:end;width:min(100%,560px)}
.hero__art img{width:100%;height:auto}
.tag{display:inline-block;padding:.45rem .8rem;background:var(--red-deep);color:#fff;font:700 .9375rem/1 var(--mono);clip-path:var(--pix4)}
.hero__tag{position:absolute;right:6%;top:4%;transform:rotate(5deg)}
@media (max-width:860px){.hero__grid{grid-template-columns:minmax(0,1fr)}.hero__art{order:-1;justify-self:center;width:min(78%,380px);margin-bottom:.5rem}}

/* ---------- бегущая строка ---------- */
.ticker{display:flex;align-items:center;padding-left:var(--dock-w);background:var(--red);color:var(--ink)}
.ticker__btn{display:none;flex:none;margin:8px;min-height:44px;padding:.4rem 1rem;font-size:.9375rem}
.js .ticker__btn{display:inline-flex}
.ticker__view{flex:1;min-width:0;overflow:clip;display:flex;align-items:center;min-height:60px}
.ticker__track{display:flex;width:max-content}
.ticker__txt{margin:0;padding-right:2.5rem;white-space:nowrap;font:700 clamp(1.125rem,1rem + .5vw,1.5rem)/1 var(--poster);text-transform:uppercase;letter-spacing:.03em}
.js .ticker__track{animation:tick 46s linear infinite}
.ticker.is-paused .ticker__track,.ticker:hover .ticker__track,.ticker:focus-within .ticker__track{animation-play-state:paused}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.js .ticker__track{animation:none}.ticker__txt[aria-hidden]{display:none}.ticker__txt{white-space:normal;padding:.6rem 0;line-height:1.25}.ticker__btn{display:none!important}.ticker__view{padding:0 var(--gutter)}}

/* ---------- поверхности ---------- */
.s-paper{background:var(--paper) url(../img/grain.png);color:var(--ink)}
.s-concrete{background:var(--concrete) url(../img/grain.png);color:var(--ink)}
.s-red{background:var(--red);color:var(--ink)}
.s-dark{background:var(--ink);color:var(--cream)}
.sec{padding:clamp(4.5rem,2.5rem + 5vw,8rem) 0}
.h2{font:700 clamp(2.5rem,1.2rem + 4.8vw,6.25rem)/.92 var(--poster);text-transform:uppercase;letter-spacing:-.005em}
.h2--m{font-size:clamp(2.25rem,1.3rem + 3vw,4.5rem)}
.h2--red,.s-dark .h2{color:var(--red)}
.zz,.mast__name em{font-style:normal;color:var(--red-deep)}
.s-dark .zz{color:var(--red-text)}
.lede{max-width:52ch;margin-top:1.1rem;font-size:1.1875rem}
.sec__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.5rem 3rem;margin-bottom:clamp(2rem,1.5rem + 2vw,3.5rem)}
.sec__head .lede{margin:0;max-width:44ch}
.more{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;font:700 1rem/1.2 var(--text);text-decoration:underline;text-underline-offset:4px}
.more svg{width:20px;height:20px}

/* ---------- вестник (газета без линеек) ---------- */
.mast{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:1rem}
.mast__side{margin:0;font:700 .8125rem/1.45 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted-paper)}
.mast__side--r{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}
.mast__side--r p{margin:0}
.mast__title{margin:0;text-align:center;line-height:.9}
.mast__hand{display:block;font:700 clamp(2rem,1.4rem + 2vw,3.4rem)/1 var(--hand);color:var(--red-deep);transform:rotate(-3deg);margin-bottom:-.15em}
.mast__name{display:block;font:700 clamp(2.75rem,1.6rem + 4.6vw,6.875rem)/.9 var(--poster);text-transform:uppercase;letter-spacing:-.01em}
.mast__sub{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:1.25rem 0 0}
.chip{display:inline-flex;align-items:center;min-height:32px;padding:.3rem .75rem;background:var(--paper-3);clip-path:var(--pix4);font:400 .8125rem/1.3 var(--mono);color:#2a2a2a}
.barcode{width:110px;height:auto;color:var(--ink)}
@media (max-width:760px){.mast{grid-template-columns:minmax(0,1fr)}.mast__side{display:none}.mast__title{text-align:left}.mast__sub{justify-content:flex-start}}

.trust{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,3vw,3.5rem);margin-top:clamp(2.5rem,2rem + 2vw,4rem)}
.trust__col{min-width:0}
.big{position:relative;margin:1.75rem 0 .75rem}
.big__num{display:block;font:700 clamp(3.5rem,2rem + 4.5vw,6.75rem)/.9 var(--poster);letter-spacing:-.02em;white-space:nowrap}
.big__num b{color:var(--red-deep)}
.marker{display:inline-block;padding:.5rem 1.1rem .55rem;background:url(../img/brush-red.svg) center/100% 100% no-repeat;font:700 clamp(1rem,.9rem + .5vw,1.25rem)/1.2 var(--poster);text-transform:uppercase;letter-spacing:.02em;color:var(--ink)}
.marker--ink{background-image:url(../img/brush-ink.svg);color:#fff}
.trust__para{columns:2 14em;column-gap:2rem;margin-top:1.5rem;font-size:1.0625rem}
.trust__para p{margin:0 0 .8em}
.trust__para p:first-child::first-letter{float:left;font:700 3.6em/.8 var(--poster);color:var(--red-deep);margin:.06em .08em 0 0}
.photo{margin:1.75rem 0 0;position:relative;max-width:360px}
.photo img{width:100%;height:auto}
.photo figcaption{margin-top:.6rem;font:400 .8125rem/1.4 var(--mono);color:var(--muted-paper)}
.stamp{position:absolute;right:0;top:-20px;width:150px;height:150px;color:var(--red-deep);transform:rotate(-14deg);opacity:.9}
@media (max-width:560px){.stamp{top:-24px;width:118px;height:118px}}
.paper-tag{display:inline-block;margin-top:1.25rem;padding:.7rem 1rem;background:var(--paper-3);clip-path:var(--pix4);font:700 .875rem/1.35 var(--mono);text-transform:uppercase}
.paper-tag b{display:block;font:700 1.6rem/1.1 var(--mono)}
@media (max-width:900px){.trust{grid-template-columns:minmax(0,1fr)}}

/* график */
.seg{display:none;flex-wrap:wrap;gap:6px;margin:0 0 1rem;padding:0;border:0;min-width:0}
.js .seg{display:flex}
.seg legend{float:left;width:100%;margin-bottom:.6rem;font:700 .9375rem/1.3 var(--text)}
.seg label{position:relative}
.seg input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.seg .win-btn{min-height:44px;padding:.5rem 1rem;font-size:.9375rem;background:var(--paper-2);color:var(--ink)}
.seg .win-btn:hover{background:var(--paper-3)}
.seg input:checked + .win-btn{background:var(--ink);color:#fff}
.seg input:focus-visible + .win-btn{outline:2px dashed var(--red-deep);outline-offset:-6px}
.seg input:checked:focus-visible + .win-btn{outline-color:#fff}
.plot{position:relative;display:flow-root;background:var(--ink);color:var(--cream);clip-path:var(--pix4)}
.plot__area{position:relative;margin:28px 44px 42px 64px;aspect-ratio:16/8}
.plot__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.plot__grid line{stroke:#262626}
.plot__axis{display:none}
.plot__line{fill:none;stroke-width:3.5;stroke-linejoin:round;stroke-linecap:round}
.ser{display:none;position:absolute;inset:0}
.chart:not([data-active]) .ser--all,.chart[data-active="all"] .ser--all,.chart[data-active="abuzz"] .ser--abuzz,.chart[data-active="loubank"] .ser--loubank,.chart[data-active="fastmani"] .ser--fastmani{display:block}
.ser .plot__line{stroke:#fff}
.ser--abuzz .plot__line,.ser--fastmani .plot__line{stroke:var(--red-text)}
.ser--loubank .plot__line{stroke-dasharray:10 7}
.ser--fastmani .plot__line{stroke-dasharray:2 8}
.node{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;background:#fff}
.node--mock{background:#8A8A8A}
.node--real{width:18px;height:18px;margin:-9px 0 0 -9px;background:var(--red-text)}
.endlbl{position:absolute;transform:translate(calc(-100% - 10px),calc(-100% - 6px));white-space:nowrap;text-align:right;font:700 1rem/1.2 var(--mono);color:#fff}
.endlbl small{display:block;font-size:.75rem;color:var(--muted);font-weight:400}
.ytick,.xtick{position:absolute;font:400 .8125rem/1 var(--mono);color:var(--muted);background:var(--ink);white-space:nowrap}
.ytick{right:calc(100% + 12px);transform:translateY(-50%)}
.xtick{top:calc(100% + 14px);transform:translateX(-50%)}
.js-anim .chartwin:not(.is-in) .ser{clip-path:inset(-40px 100% -40px -40px)}
.js-anim .chartwin .ser{clip-path:inset(-40px -40px -40px -40px);transition:clip-path 1.5s cubic-bezier(.3,.7,.2,1) .25s}
.chart__note{margin:.75rem 0 0;font:400 .8125rem/1.45 var(--mono);color:var(--muted-paper)}
.chart__data{margin-top:.75rem;font-size:.9375rem}
.chart__data summary{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;cursor:pointer;font-weight:700;list-style:none}
.chart__data summary::-webkit-details-marker{display:none}
.chart__data summary::before{content:"+";display:grid;place-items:center;width:22px;height:22px;background:var(--red-deep);color:#fff;font:700 .9375rem/1 var(--mono)}
.chart__data[open] summary::before{content:"−"}
.chart__data table{width:100%;border-collapse:collapse;margin-top:.5rem}
.chart__data caption{text-align:left;font-weight:700;padding:.3rem 0}
.chart__data th,.chart__data td{padding:.55rem .75rem;text-align:left}
.chart__data tbody tr:nth-child(odd){background:var(--paper-2)}
.chart__data td:last-child{text-align:right;font-family:var(--mono)}
.counts{display:grid;gap:8px;margin-top:1.1rem}
.count{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.75rem .9rem;background:var(--paper-2);clip-path:var(--pix4)}
.count img{width:56px;height:56px;clip-path:var(--pix4)}
.count__name{margin:0;font:700 1.25rem/1.1 var(--poster);text-transform:uppercase;letter-spacing:.01em}
.count__num{display:block;font:400 .9375rem/1.35 var(--mono);color:var(--muted-paper);margin-top:.2rem}
.count .win-btn{min-height:46px;padding:.5rem 1rem;font-size:.9375rem}
@media (max-width:560px){.plot__area{margin:24px 30px 38px 48px;aspect-ratio:4/3}.ytick,.xtick{font-size:.75rem}.count{grid-template-columns:48px minmax(0,1fr)}.count img{width:48px;height:48px}.count .win-btn{grid-column:1/-1}}

/* ---------- карточки ---------- */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,1.2vw,1.25rem)}
.cards--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{position:relative;padding:clamp(1.5rem,1.2rem + 1vw,2.25rem);background:var(--ink-2);color:var(--cream);clip-path:var(--pix8)}
.card--paper{background:var(--paper-2);color:var(--ink)}
.card--white{background:#fff;color:var(--ink)}
.card__ico{width:72px;height:72px;color:var(--red-text);margin-bottom:1.75rem}
.card--paper .card__ico,.card--white .card__ico{color:var(--red-deep)}
.card h3{font:700 clamp(1.625rem,1.3rem + .9vw,2.125rem)/1.02 var(--poster);text-transform:uppercase;margin-bottom:.75rem}
.card p{margin:0;max-width:38ch}
.card__letter{display:block;font:700 3.25rem/.9 var(--poster);color:var(--red-deep);margin-bottom:1.25rem}
@media (max-width:960px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cards,.cards--2{grid-template-columns:minmax(0,1fr)}}

/* ---------- проекты: билеты ---------- */
.tickets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,1.2vw,1.25rem)}
.ticket{display:flex;flex-direction:column;height:100%;background:var(--paper);color:var(--ink);clip-path:var(--pix8)}
.ticket__top{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1.4rem;background:var(--ink);color:#fff;font:700 .8125rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.05em}
.ticket__no{margin:0;color:var(--red-text);text-align:right}
.ticket__no small{display:block;font-weight:400;color:var(--muted);text-transform:none;letter-spacing:0}
.ticket__main{display:flex;gap:1rem;align-items:center;padding:1.4rem 1.4rem 1rem}
.ticket__main img{width:80px;height:80px;flex:none;clip-path:var(--pix4)}
.ticket h3{font:700 clamp(1.75rem,1.4rem + .9vw,2.25rem)/.95 var(--poster);text-transform:uppercase}
.ticket__kind{display:inline-block;margin-bottom:.4rem;font:700 .75rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--red-deep)}
.ticket__desc{padding:0 1.4rem;margin:0 0 1.4rem;font-size:1.0625rem}
.ticket__stub{margin-top:auto;padding:0 1.4rem 1.4rem;display:flex;flex-wrap:wrap;gap:8px}
.ticket__stub .win-btn{flex:1 1 auto}
.eco{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:2rem}
.eco__lbl{margin:0 .5rem 0 0;font:700 .8125rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.06em}
.eco ul{display:flex;flex-wrap:wrap;gap:8px}
.eco a{display:inline-flex;align-items:center;gap:.55rem;min-height:48px;padding:.35rem 1rem .35rem .4rem;background:var(--paper);clip-path:var(--pix4);text-decoration:none;font:600 .9375rem/1.2 var(--text)}
.eco a:hover{background:#fff;text-decoration:underline}
.eco a:focus-visible{outline:2px dashed var(--ink);outline-offset:-5px}
.eco img{width:36px;height:36px;clip-path:var(--pix4)}
.eco a.eco--noimg{padding-left:1rem}
@media (max-width:960px){.tickets{grid-template-columns:minmax(0,1fr);max-width:560px}}

/* ---------- 42 млн ---------- */
.money{overflow:clip}
.money__grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center}
.money__kicker{font:700 1rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem}
.money__num{margin:0;font:700 clamp(3.25rem,1.6rem + 6.6vw,9rem)/.88 var(--poster);letter-spacing:-.02em;white-space:nowrap}
.money .marker{margin:1.25rem 0 1rem}
.money__text{max-width:50ch;font-size:1.125rem}
.money__src{font:400 .875rem/1.45 var(--mono);margin:0 0 1.5rem}
.money__art{color:var(--ink);width:clamp(150px,17vw,250px)}
.money__art svg{width:100%;height:auto}
.money__stars{position:absolute;right:var(--gutter);top:1.5rem;font:700 1.4rem/1 var(--mono);letter-spacing:.4em;color:var(--ink)}
@media (max-width:760px){.money__grid{grid-template-columns:minmax(0,1fr)}.money__art{width:120px;order:-1}.money__num{white-space:normal}}

/* ---------- отзывы ---------- */
.reviews__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,3vw,3.5rem);align-items:start}
.folders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:clamp(.75rem,.5rem + 1vw,1.25rem)}
.folder{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.9rem;align-items:center;padding:.9rem;min-height:44px;background:var(--ink-3);clip-path:var(--pix4);color:var(--cream);text-decoration:none;transition:background-color .15s}
.folder:hover{background:var(--ink-4)}
.folder:hover .folder__name{text-decoration:underline}
.folder:focus-visible{outline:2px dashed #fff;outline-offset:-5px}
.folder img{width:56px;height:56px;clip-path:var(--pix4)}
.folder__name{display:block;font:700 1.0625rem/1.2 var(--text);color:#fff}
.folder__meta{display:block;font:400 .875rem/1.35 var(--mono);color:var(--muted);margin-top:.15rem}
@media (max-width:900px){.reviews__grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.folders{grid-template-columns:minmax(0,1fr)}}

/* ---------- статьи ---------- */
.articles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,1.2vw,1.25rem)}
.art{position:relative;display:flex;flex-direction:column;background:var(--paper-2);clip-path:var(--pix8)}
.art__cover{display:grid;place-items:center;aspect-ratio:16/10;background:var(--ink);color:var(--red);font:700 clamp(2rem,1.4rem + 1.8vw,3.2rem)/.9 var(--poster);text-transform:uppercase;text-align:center;padding:1rem;position:relative}
.art__cover--red{background:var(--red);color:var(--ink)}
.art__cover--paper{background:var(--concrete);color:var(--ink)}
.art__cover small{position:absolute;left:.9rem;top:.8rem;font:700 .75rem/1 var(--mono);letter-spacing:.06em;color:var(--muted)}
.art__cover--red small{color:var(--ink)}
.art__cover--paper small{color:var(--muted-paper)}
.art__body{padding:1.25rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}
.art__rub{font:700 .8125rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--red-deep);margin:0 0 .5rem}
.art h3{font:700 1.5rem/1.12 var(--poster);text-transform:uppercase;margin-bottom:.6rem}
.art h3 a{text-decoration:none}
.art h3 a::after{content:"";position:absolute;inset:0}
.art:hover h3 a{text-decoration:underline;text-underline-offset:4px}
.art:has(a:focus-visible)::before{content:"";position:absolute;inset:8px;z-index:2;pointer-events:none;outline:3px dashed var(--ink);box-shadow:0 0 0 3px var(--cream)}
.art h3 a:focus-visible{outline:none}
.art p{font-size:1rem;margin:0 0 .75rem}
.art__meta{margin-top:auto!important;font:400 .875rem/1.4 var(--mono);color:var(--muted-paper)}
@media (max-width:960px){.articles{grid-template-columns:minmax(0,1fr);max-width:620px}}

/* ---------- FAQ ---------- */
.faq__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(1.5rem,3vw,3.5rem);align-items:start}
.faq__list{display:grid;gap:6px;padding:clamp(.75rem,.5rem + 1vw,1.25rem)}
.faq__item{background:var(--paper-2);clip-path:var(--pix4)}
.faq__item summary{display:flex;align-items:center;gap:.9rem;min-height:56px;padding:.8rem 1.1rem;cursor:pointer;list-style:none;font:700 1.0625rem/1.3 var(--text)}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::before{content:"+";flex:none;display:grid;place-items:center;width:26px;height:26px;background:var(--red-deep);color:#fff;font:700 1rem/1 var(--mono)}
.faq__item[open] summary::before{content:"−";background:var(--ink)}
.faq__item summary:hover{background:var(--paper-3)}
.faq__item summary:focus-visible{outline:2px dashed var(--ink);outline-offset:-5px}
.faq__a{padding:0 1.1rem 1.1rem 3.3rem;font-size:1.0625rem}
.faq__a p:last-child{margin:0}
@media (max-width:900px){.faq__grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- финал ---------- */
.final{overflow:clip}
.final__h{font:700 clamp(3.25rem,1.5rem + 7vw,8.125rem)/.86 var(--poster);text-transform:uppercase;color:var(--red);letter-spacing:-.01em}
.final p{max-width:42ch;margin:1.5rem 0 2rem;font-size:1.25rem;color:#fff}
.final__cta{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- подвал ---------- */
.foot{background:var(--ink);color:var(--cream);padding:clamp(3rem,2rem + 3vw,5rem) 0 2rem;position:relative}
.foot__giant{width:100%;height:auto;margin-bottom:clamp(2rem,1.5rem + 2vw,3.5rem)}
.foot__giant text{font-family:var(--poster);font-weight:700;fill:var(--red)}
.foot__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.foot h2{font:700 .875rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.9rem}
.foot li a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#555}
.foot li a:hover{color:#fff;text-decoration-color:var(--red-text)}
.foot__warn{margin-top:2.5rem;padding:1.25rem 1.4rem;background:var(--ink-2);clip-path:var(--pix4);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;font:400 .875rem/1.5 var(--mono);color:var(--muted)}
.foot__warn p{margin:0}
.foot__warn strong{color:#fff}
@media (max-width:760px){.foot__cols{grid-template-columns:minmax(0,1fr)}}

/* ---------- внутренние страницы ---------- */
.crumbs{margin:0 0 1.5rem;font:400 .875rem/1.4 var(--mono);color:var(--muted)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:.25rem .6rem}
.crumbs li{display:flex;align-items:center;gap:.6rem}
.crumbs li+li::before{content:"/";color:#5a5a5a}
.crumbs a{display:inline-flex;align-items:center;min-height:44px;color:var(--cream);text-underline-offset:3px}
.crumbs [aria-current]{color:var(--muted)}
.phero{background:var(--ink);overflow:clip;padding:clamp(2.5rem,1.5rem + 4vw,5rem) 0 clamp(3.5rem,2rem + 4vw,6rem)}
.phero__grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:2rem;align-items:end}
.phero h1{hyphens:auto;overflow-wrap:break-word;font:700 clamp(2.25rem,1rem + 6vw,5.625rem)/.9 var(--poster);text-transform:uppercase;color:var(--red);letter-spacing:-.01em}
.phero__lead{max-width:44ch;margin:1.5rem 0 0;font:500 clamp(1.1875rem,1.05rem + .5vw,1.4375rem)/1.45 var(--text);color:#fff}
.phero__side{justify-self:end;color:var(--red-text)}
.phero__side svg{width:clamp(110px,12vw,180px);height:auto}
.h1-article{font-size:clamp(2.25rem,1.3rem + 3.4vw,4.75rem)!important;line-height:.95!important}
.phero__img{justify-self:end;width:min(100%,320px)}
@media (max-width:860px){.phero__grid{grid-template-columns:minmax(0,1fr)}.phero__side,.phero__img{justify-self:start;order:-1}.phero__side svg{width:96px}.phero__img{width:180px}}

.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,3vw,4rem);align-items:start}
@media (max-width:900px){.split{grid-template-columns:minmax(0,1fr)}}
.prose{max-width:68ch;font-size:1.1875rem;line-height:1.65}
.prose h2{font:700 clamp(1.875rem,1.4rem + 1.6vw,2.75rem)/1.02 var(--poster);text-transform:uppercase;margin:2.75rem 0 1rem}
.prose h3{font:700 1.5rem/1.15 var(--poster);text-transform:uppercase;margin:2rem 0 .75rem}
.prose p,.prose ul,.prose ol{margin:0 0 1.15em}
.prose ul li{position:relative;padding-left:1.6rem;margin-bottom:.5rem}
.prose ul li::before{content:"+";position:absolute;left:0;font-weight:700;color:var(--red-deep)}
.prose ol{counter-reset:o}
.prose ol li{position:relative;padding-left:2.4rem;margin-bottom:.6rem;counter-increment:o}
.prose ol li::before{content:counter(o);position:absolute;left:0;top:.1rem;display:grid;place-items:center;width:1.7rem;height:1.7rem;background:var(--red-deep);color:#fff;font:700 .875rem/1 var(--mono)}
.prose a{text-underline-offset:3px;text-decoration-thickness:1px}
.prose strong{font-weight:700}
.prose .note{padding:1.1rem 1.3rem;background:var(--paper-2);clip-path:var(--pix4);font-size:1.0625rem}
.prose .note strong{color:var(--red-deep)}
.s-dark .prose .note{background:var(--ink-2)}
.toc{padding:1.25rem 1.4rem;background:var(--paper-2);clip-path:var(--pix8)}
.toc h2{font:700 .875rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.06em;margin:0 0 .5rem}
.toc a{display:inline-flex;min-height:40px;align-items:center;text-underline-offset:3px}
.art-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}
.art-meta .chip{background:var(--ink-3);color:var(--cream)}

.timeline{display:grid;gap:8px}
.tl{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:1.25rem;padding:1.25rem 1.4rem;background:var(--paper-2);clip-path:var(--pix4)}
.tl__y{font:700 1.75rem/1 var(--poster);color:var(--red-deep)}
.tl h3{font:700 1.25rem/1.2 var(--text);margin-bottom:.35rem}
.tl p{margin:0}
@media (max-width:560px){.tl{grid-template-columns:minmax(0,1fr);gap:.4rem}}

.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.75rem,1.2vw,1.25rem)}
.step__n{display:block;font:700 1rem/1 var(--mono);color:var(--red-text);margin-bottom:1.25rem}
.steps .card h3{font-size:clamp(1.25rem,1.1rem + .5vw,1.5rem);hyphens:auto;overflow-wrap:break-word}
.steps .card{padding:1.4rem 1.3rem 1.6rem}
@media (max-width:960px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.steps{grid-template-columns:minmax(0,1fr)}}

.stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.stat{padding:1.25rem 1.4rem;background:var(--ink-2);clip-path:var(--pix4)}
.stat b{display:block;font:700 clamp(2rem,1.5rem + 1.5vw,3rem)/1 var(--poster);color:#fff}
.stat span{display:block;margin-top:.4rem;font:400 .875rem/1.4 var(--mono);color:var(--muted)}
.s-paper .stat{background:var(--paper-2)}
.s-paper .stat b{color:var(--ink)}
.s-paper .stat span{color:var(--muted-paper)}
@media (max-width:860px){.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:440px){.stat-row{grid-template-columns:minmax(0,1fr)}}

.links-list{display:grid;gap:8px}
.links-list a{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:60px;padding:.8rem 1.2rem;background:var(--ink-2);clip-path:var(--pix4);text-decoration:none;color:#fff;font:600 1.0625rem/1.3 var(--text)}
.links-list a:hover{background:var(--ink-3)}
.links-list a:focus-visible{outline:2px dashed #fff;outline-offset:-5px}
.links-list small{display:block;font:400 .875rem/1.35 var(--mono);color:var(--muted)}
.links-list svg{width:22px;height:22px;flex:none;color:var(--red-text)}
.s-paper .links-list a{background:var(--paper-2);color:var(--ink)}
.s-paper .links-list a:hover{background:var(--paper-3)}
.s-paper .links-list a:focus-visible{outline-color:var(--ink)}
.s-paper .links-list small{color:var(--muted-paper)}
.s-paper .links-list svg{color:var(--red-deep)}

/* форма */
.form{display:grid;gap:1.1rem}
.field{display:grid;gap:.45rem}
.field label,.field legend{font:700 1rem/1.3 var(--text)}
.field .hint{font:400 .875rem/1.4 var(--mono);color:var(--muted-paper)}
.input{width:100%;min-height:56px;padding:.8rem 1rem;border:0;background:var(--paper-2);color:var(--ink);font:400 1.0625rem/1.4 var(--text);clip-path:var(--pix4);box-shadow:inset 0 -2px 0 var(--muted-paper)}
textarea.input{min-height:150px;resize:vertical}
.input[aria-invalid="true"]{box-shadow:inset 0 0 0 3px var(--red-deep)}
.input:focus{outline:2px dashed var(--ink);outline-offset:-7px;box-shadow:inset 0 0 0 3px var(--ink)}
.input[aria-invalid="true"]:focus{box-shadow:inset 0 0 0 3px var(--red-deep)}
.err{margin:0;font:700 .9375rem/1.4 var(--text);color:var(--red-deep)}
.err[hidden]{display:none}
.check{display:grid;grid-template-columns:28px minmax(0,1fr);gap:.75rem;align-items:start;font-size:1rem}
.check input{width:24px;height:24px;margin:.1rem 0 0;accent-color:var(--red-deep)}
.form__status{margin:0;padding:1rem 1.2rem;background:var(--ink);color:#fff;clip-path:var(--pix4)}
.form__status:empty{padding:0;background:none}
.form__note{margin:0 0 1rem;font:400 .9375rem/1.4 var(--mono);color:var(--muted-paper)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}


/* ---------- табло обменника ---------- */
.board{margin-top:1.1rem;padding:1rem;background:var(--ink);color:var(--cream);clip-path:var(--pix4);--focus:#fff}
.board__head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;margin:0 0 .85rem;font:700 .75rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.board__head b{color:var(--red-text)}
.board .counts{margin:0}
.board .count{background:var(--ink-2);grid-template-columns:52px minmax(0,1fr) auto}
.board .count img{width:52px;height:52px}
.board .count__name{color:#fff}
.flap{display:flex;flex-wrap:wrap;gap:3px;margin:.45rem 0 0}
.flap span{display:grid;place-items:center;width:1.5em;height:1.85em;background:linear-gradient(#2C2C2C 50%,#242424 50%);color:var(--red-text);font:400 .875rem/1 "Press Start 2P",var(--mono)}
.flap .flap__sp{width:.45em;background:none}
.flap__unit{align-self:end;margin-left:.45rem;font:400 .8125rem/1 var(--mono);color:var(--muted)}
@media (max-width:560px){.board .count{grid-template-columns:44px minmax(0,1fr)}.board .count img{width:44px;height:44px}.board .count .win-btn{grid-column:1/-1}.flap span{width:1.35em;height:1.7em;font-size:.75rem}}

/* ---------- кассовый чек ---------- */
.receipt{margin:0;width:min(100%,340px)}
.receipt--tilt{justify-self:end;transform:rotate(2.5deg)}
.receipt__paper{--s:9px;padding:1.9rem 1.4rem 2.1rem;background:#FBFAF6;color:var(--ink);font:400 .875rem/1.5 var(--mono);
  -webkit-mask:conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top/calc(2*var(--s)) 51% repeat-x,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/calc(2*var(--s)) 51% repeat-x;
  mask:conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top/calc(2*var(--s)) 51% repeat-x,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/calc(2*var(--s)) 51% repeat-x}
.receipt__h{margin:0 0 .2rem;text-align:center;font:700 1rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.04em}
.receipt__meta{margin:0 0 .4rem;text-align:center;font-size:.8125rem;color:#4D4D4D}
.receipt__sep{margin:.35rem 0;text-align:center;letter-spacing:.35em;color:#4D4D4D}
.receipt__t{width:100%;border-collapse:collapse}
.receipt__t th{padding:.18rem 0;text-align:left;font-weight:400}
.receipt__t td{padding:.18rem 0 .18rem .75rem;text-align:right;vertical-align:top;overflow-wrap:anywhere}
.receipt__t tfoot th,.receipt__t tfoot td{padding-top:.55rem;font-weight:700;font-size:1.0625rem}
.receipt__thx{margin:.7rem 0 .6rem;text-align:center;font-weight:700;text-transform:uppercase}
.receipt .barcode{width:150px;margin:0 auto}
.receipt-wrap{display:flex;justify-content:center;overflow:clip;margin:2.25rem 0;padding:clamp(1.5rem,1rem + 2vw,2.5rem) 1rem;background:var(--ink);clip-path:var(--pix8)}
.receipt-wrap .receipt{transform:rotate(-1.5deg)}

/* ---------- бирки ---------- */
.ptag{display:inline-flex;align-items:center;padding:.5rem .85rem .5rem 1.45rem;background:var(--red-deep);color:#fff;font:700 .8125rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;
  clip-path:polygon(12px 0,100% 0,100% 100%,12px 100%,0 50%);-webkit-mask:radial-gradient(circle 4px at 14px 50%,#0000 96%,#000);mask:radial-gradient(circle 4px at 14px 50%,#0000 96%,#000)}
.ptag--ink{background:var(--ink)}
.tagged{position:relative;display:inline-flex}
.ptag--hang{position:absolute;right:-22px;top:-18px;transform:rotate(9deg);pointer-events:none;z-index:1}
.ticket{position:relative}
.ticket__tags{display:flex;flex-wrap:wrap;gap:8px;margin:-.4rem 1.4rem 1.3rem;transform:rotate(-1.5deg);transform-origin:left}
.ticket__qr{display:none}
@media (min-width:1024px){
  .ticket__qr{display:flex;align-items:center;gap:.9rem;padding:0 1.4rem 1.4rem}
  .ticket__qr .qr{width:84px;height:84px;flex:none}
  .ticket__qr p{margin:0;font:400 .8125rem/1.4 var(--mono);color:var(--muted-paper)}
}

/* ---------- пачка купюр с бандеролью ---------- */
.final__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:2rem;align-items:center}
.stack{position:relative;width:min(100%,470px);aspect-ratio:640/288;margin:3rem auto}
.stack img{position:absolute;inset:0;width:100%;height:auto}
.stack img:nth-child(1){transform:rotate(-8deg) translate(-5%,8%)}
.stack img:nth-child(2){transform:rotate(5deg) translate(4%,4%)}
.stack img:nth-child(3){transform:rotate(-1.5deg)}
.band{position:absolute;top:-9%;bottom:-9%;left:31%;width:12%;display:grid;place-items:center;background:var(--paper);transform:rotate(-1.5deg)}
.band span{writing-mode:vertical-rl;transform:rotate(180deg);font:700 clamp(.5625rem,.45rem + .35vw,.75rem)/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;color:var(--red-deep)}
@media (max-width:860px){.final__grid{grid-template-columns:minmax(0,1fr)}.stack{width:min(88%,420px);margin:2rem 0 2.5rem 6%}}

/* ---------- 404 «фальшивка» ---------- */
.fake{background:var(--ink);padding:clamp(3rem,2rem + 4vw,6rem) 0;overflow:clip}
.fake__grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2rem,4vw,4rem);align-items:center}
.fake__note{position:relative;transform:rotate(-4deg)}
.fake__note img{width:100%;height:auto}
.stamp--fake{position:absolute;left:50%;top:50%;width:74%;height:auto;transform:translate(-50%,-50%) rotate(-11deg);color:#1A0A0B}
.fake h1{font:700 clamp(2.5rem,1.2rem + 4.5vw,5.5rem)/.92 var(--poster);text-transform:uppercase;color:var(--red);margin-bottom:1.25rem}
.fake p{max-width:46ch;font-size:1.125rem}
@media (max-width:860px){.fake__grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- появление ---------- */
.js-anim .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.js-anim .reveal.is-in,.js-anim .reveal:focus-within{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js-anim .reveal{opacity:1;transform:none;transition:none}.js-anim .chartwin .ser,.js-anim .chartwin:not(.is-in) .ser{clip-path:none;transition:none}}
@media print{.top{position:static}.ticker__btn{display:none}.js-anim .reveal{opacity:1;transform:none}}

@media (max-width:480px){.ptag--hang{right:6px;top:-14px}}

/* ===================== спокойная версия: меньше элементов, больше воздуха ===================== */
.corners{display:none!important}
.sec{padding:clamp(5rem,3rem + 6vw,9rem) 0}
.sec--calm{padding:clamp(6.5rem,3rem + 9vw,12rem) 0}
.wrap.narrow{max-width:calc(880px + 2 * var(--gutter))}
.kicker--light{color:var(--muted)}
.h2--calm{font-size:clamp(2.75rem,1.4rem + 4.4vw,5.75rem);margin-bottom:clamp(2.5rem,2rem + 2vw,4rem)}
.lede--calm{margin:calc(-1 * clamp(1.25rem,1rem + 1vw,2rem)) 0 clamp(2.5rem,2rem + 2vw,3.5rem);color:#CFCFCF}
.cards{gap:clamp(1rem,1.6vw,1.75rem)}
.card{padding:clamp(1.75rem,1.4rem + 1.4vw,3rem)}

/* герой — только слоган, Z и одна кнопка */
.hero{padding:clamp(4.5rem,2rem + 8vw,9rem) 0 clamp(5.5rem,2rem + 9vw,10rem)}
.hero__lead{max-width:26ch;margin-top:clamp(1.5rem,1rem + 1.5vw,2.5rem)}
.hero__cta{margin-top:clamp(2rem,1.5rem + 2vw,3rem)}

/* 300 000+ */
.calm{display:flex;flex-direction:column;align-items:center;text-align:center}
.calm__h{font:700 clamp(5rem,1.5rem + 13vw,13rem)/.82 var(--poster);letter-spacing:-.03em}
.calm__h b{color:var(--red-deep)}
.calm__lede{margin:1.25rem 0 0;font:500 clamp(1.25rem,1rem + 1vw,1.875rem)/1.3 var(--text);color:var(--muted-paper)}
.board--calm{width:min(100%,760px);margin-top:clamp(3.5rem,2.5rem + 3vw,5.5rem);text-align:left}
.calm__note{margin:1.25rem 0 0;font:400 .8125rem/1.4 var(--mono);color:var(--muted-paper)}
.calm__more{margin-top:2rem}

/* 42 млн */
.money .kicker{margin-bottom:1.5rem}
.money__num{color:#fff}
.money__num b{color:var(--red)}
.money__text{max-width:34ch;margin:1.5rem 0 2.25rem;font:500 clamp(1.125rem,1rem + .6vw,1.5rem)/1.45 var(--text);color:#CFCFCF}

/* проекты */
.projs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,1.8vw,2rem)}
.proj{display:flex;flex-direction:column;align-items:flex-start;height:100%;padding:clamp(1.75rem,1.4rem + 1.4vw,3rem);background:#fff;color:var(--ink);clip-path:var(--pix8)}
.proj img{width:88px;height:88px;clip-path:var(--pix8);margin-bottom:clamp(1.75rem,1.5rem + 1vw,2.5rem)}
.proj__kind{margin:0 0 .5rem;font:700 .8125rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--red-deep)}
.proj h3{font:700 clamp(1.875rem,1.5rem + 1vw,2.5rem)/.95 var(--poster);text-transform:uppercase}
.proj__desc{margin:1rem 0 0;font-size:1.0625rem;color:#333}
.proj__num{margin:.5rem 0 2rem;font:400 .9375rem/1.4 var(--mono);color:var(--muted-paper)}
.proj__cta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;margin:auto 0 0}
.proj__cta .more svg{width:18px;height:18px}
@media (max-width:960px){.projs{grid-template-columns:minmax(0,1fr);max-width:560px}}

/* отзывы — спокойный список */
.rows{display:grid;gap:8px}
.rows a{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:1.25rem;min-height:72px;padding:1rem 1.25rem;background:var(--ink-2);clip-path:var(--pix4);color:#fff;text-decoration:none;transition:background-color .15s}
.rows a:hover{background:var(--ink-3)}
.rows a:hover .rows__name{text-decoration:underline;text-underline-offset:4px}
.rows a:focus-visible{outline:2px dashed #fff;outline-offset:-5px}
.rows img{width:52px;height:52px;clip-path:var(--pix4)}
.rows__name{display:block;font:700 1.125rem/1.25 var(--text)}
.rows__meta{display:block;margin-top:.2rem;font:400 .875rem/1.35 var(--mono);color:var(--muted)}
.rows svg{width:22px;height:22px;color:var(--red-text)}

/* вопросы */
.qa{display:grid;gap:8px}
.qa .faq__item{background:#fff}
.qa .faq__item summary{min-height:68px;padding:1rem 1.4rem;font-size:1.1875rem}
.qa .faq__a{padding:0 1.4rem 1.4rem 3.6rem}

/* финал */
.final p{margin:1.25rem 0 2.25rem}

/* ===================== короткий метр (интро главной) ===================== */
html.has-film{scroll-padding-top:0;scroll-behavior:auto}  /* без плавной прокрутки: иначе прыжок через кадры мелькает чёрным-белым */
/* один жест прокрутки = один кадр: жёсткое прилипание + обязательная остановка на каждом кадре */
@media (min-height:500px) and (min-width:360px){
  html.has-film:not(.snap-off){scroll-snap-type:y mandatory}
  html.has-film.snap-soft{scroll-snap-type:y proximity}
}
.has-film .site{scroll-snap-align:start}
.has-film .site :is([id],a,button,summary,input,textarea){scroll-margin-top:96px}
.film{--bt:0px;--bb:0px;position:relative}
html:not(.js) .film .hud{display:none}

/* полосы */
.hud{position:fixed;inset:0;z-index:55;pointer-events:none}
.film-off .hud,.film-off .filmhead{display:none}
.hud__bar{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 var(--gutter);background:var(--ink);font:700 .75rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.hud__bar--top{top:0;height:var(--bt)}
.hud__bar--bot{bottom:0;height:var(--bb)}
.hud__title{color:#fff}
.hud__tc{margin-right:12rem;color:#fff}
@media (max-width:760px){.hud__tc{display:none}.hud__title{font-size:.6875rem}}
.filmhead{position:fixed;top:0;right:0;z-index:58;height:var(--bt);display:flex;align-items:center;padding-right:var(--gutter)}
html:not(.js) .filmhead{position:absolute}
.skipfilm{display:inline-flex;align-items:center;gap:.4rem;min-height:30px;padding:.3rem .75rem;background:var(--cream);color:var(--ink);clip-path:var(--pix4);font:700 .8125rem/1 var(--text);text-decoration:none}
.skipfilm svg{width:16px;height:16px}
.skipfilm:hover{background:#fff}
.skipfilm:focus-visible{outline:2px dashed var(--ink);outline-offset:-5px}

/* кадры */
.sc{scroll-snap-stop:always;position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:safe center;padding:calc(var(--bt) + clamp(1.5rem,1rem + 3vh,3.5rem)) var(--gutter) calc(var(--bb) + clamp(1.5rem,1rem + 3vh,3.5rem));scroll-snap-align:start;overflow:clip}
.sc--black{background:var(--ink);color:var(--cream);--focus:#fff}
.sc--white{background:#fff;color:var(--ink);--focus:#0D0D0D}
.sc__in{width:100%;max-width:1240px;margin:0 auto}
.sc__h{max-width:16ch;font:700 clamp(2.6rem,1rem + 6vw,6.5rem)/.92 var(--poster);text-transform:uppercase;letter-spacing:-.01em;overflow-wrap:break-word}
.sc--black .sc__h{color:#fff}
.sc__h--xl{font-size:clamp(4rem,1.5rem + 10vw,11rem)}
.sc__h-sm{display:block;margin-top:.15em;font-size:.5em;line-height:1}
.sc__sub{max-width:36ch;margin-top:1.25rem;font:500 clamp(1.125rem,1rem + .6vw,1.5rem)/1.4 var(--text)}
.sc--black .sc__sub{color:#CFCFCF}
.sc__lead{max-width:30ch;margin-top:1.25rem;font:700 clamp(1.5rem,1.1rem + 1.4vw,2.5rem)/1.15 var(--text);color:var(--red-deep)}
.sc__fine{margin-top:1rem;font:400 .9375rem/1.4 var(--mono);color:#4D4D4D}
.sc__big{display:block;font-size:clamp(4rem,1.6rem + 9vw,10rem);line-height:.85}
.sc__big b{color:var(--red)}
.sc--white .sc__big b{color:var(--red-deep)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:2rem}
.chips li{padding:.55rem 1rem;background:#fff;color:var(--ink);clip-path:var(--pix4);font:700 .9375rem/1.2 var(--mono);text-transform:uppercase;letter-spacing:.04em}

/* титул — огромные буквы */
.filmtitle{margin:0;width:100%}
.sc--1{padding-block:clamp(3rem,2rem + 6vh,6rem)}
.filmtitle svg{width:100%;height:auto;max-height:calc(100svh - 2 * clamp(3rem,2rem + 6vh,6rem));overflow:visible}
.filmtitle text{font-family:var(--poster);font-weight:700;fill:var(--red)}
.filmtitle .ft2{fill:#fff}

/* сцены с картинкой */
.sc--split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-content:center;align-items:center;column-gap:clamp(1.5rem,3vw,3rem)}
.sc--split .sc__in{max-width:none}
.sc__art{position:relative;justify-self:center;display:flex;flex-direction:column;align-items:center;gap:1.25rem}
.boy{width:clamp(130px,min(19vw,30vh),280px);height:auto;overflow:visible}
.boy__glasses{display:none}
.sc--cool .boy__glasses{display:inline}
.boy__bang{display:none;color:var(--red-text)}
.sc--huh .boy__bang{display:inline}
.boy__arms{visibility:hidden}
.notes{color:var(--red-text);opacity:0}
.scene-art{width:clamp(260px,min(36vw,52vh),560px);height:auto}
.scene-art--stairs{width:clamp(220px,min(30vw,48vh),460px)}
.climber{transform:translate(41px,-2px)}
.coins{display:flex;gap:.6rem;color:var(--red-deep)}
.coin svg{width:clamp(36px,4vw,56px);height:auto}
.xpbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;width:clamp(220px,26vw,340px);font:700 .8125rem/1 var(--mono);color:#fff}
.xpbar__track{height:16px;background:#2A2A2A;clip-path:var(--pix4);overflow:hidden}
.xpbar__fill{display:block;height:100%;width:0;background:var(--red)}
.xpbar__val{color:var(--red-text)}
.crowd{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:4px;max-width:880px;margin-top:2.25rem;color:var(--ink)}
.mini svg{width:100%;height:auto}
.mini--you{color:var(--red-deep)}
@media (max-width:760px){
  .sc--split{grid-template-columns:minmax(0,1fr)}
  .sc__art{order:-1;justify-self:start;margin-bottom:1.5rem;align-items:flex-start}
  .boy{width:110px}
  .scene-art{width:min(100%,330px)}
  .crowd{grid-template-columns:repeat(10,minmax(0,1fr))}
}

/* ---------- анимации: заметные, по 2–4 секунды, повторяются при каждом входе в кадр ---------- */
@media (prefers-reduced-motion:no-preference){
  .js .sc:not(.on) .a-up{opacity:0;transform:translateY(30px)}
  .js .a-up{transition:opacity .5s ease,transform .55s cubic-bezier(.2,.8,.2,1)}
  .js .sc.on .a-up:nth-child(2){transition-delay:.15s}
  .js .sc.on .a-up:nth-child(3){transition-delay:.3s}
  .js .sc.on .a-late{transition-delay:.9s}
  .js .sc:not(.on) .a-pop{opacity:0;transform:translateY(-40%) scale(.6)}
  .js .a-pop{display:inline-block;transition:opacity .15s,transform .3s steps(3)}
  .js .sc.on .a-pop:nth-child(2){transition-delay:.35s}
  .js .sc.on .a-pop:nth-child(3){transition-delay:.7s}
  .js .sc.on .a-pop:nth-child(4){transition-delay:1.05s}

  /* 1 — буквы въезжают с двух сторон */
  .js .sc--1:not(.on) .ft1{transform:translateX(-1100px)}
  .js .sc--1:not(.on) .ft2{transform:translateX(1100px)}
  .js .sc--1.on .ft1{animation:slideL .7s steps(6) both}
  .js .sc--1.on .ft2{animation:slideR .7s steps(6) .25s both}
  /* 2 — пацан заходит, монетки выскакивают и подпрыгивают */
  .js .sc:not(.on) .a-walk{opacity:0;transform:translateX(60%)}
  .js .sc.on .a-walk{animation:walk 1s steps(6) both}
  .js .sc:not(.on) .coin{opacity:0;transform:translateY(30px) scale(.4)}
  .js .sc.on .coin{animation:coin .5s steps(4) both,bob .8s steps(2) 3}
  .js .sc.on .coin.c1{animation-delay:1s,1.5s}
  .js .sc.on .coin.c2{animation-delay:1.3s,1.8s}
  .js .sc.on .coin.c3{animation-delay:1.6s,2.1s}
  /* 3 — «!?», тряска, шкала опыта пытается и падает в ноль */
  .js .sc--huh.on .a-shake .boy{animation:shake .2s steps(2) .5s 6}
  .js .sc--huh.on .boy__bang{animation:blinkb .4s steps(2) .3s 5}
  .js .sc--huh.on .xpbar__fill{animation:xp 2.4s steps(12) .4s both}
  /* 4 — лента в телефоне листается */
  .js .sc--sofa.on .feed{animation:feed 1.2s steps(12) .3s 3}
  .js .sc--sofa.on .phone{animation:bob .6s steps(2) .3s 6}
  /* 5 — очки съезжают, пацан подпрыгивает */
  .js .sc--cool:not(.on) .boy__glasses-in{transform:translateY(-14px)}
  .js .sc--cool.on .boy__glasses-in{animation:drop 1.1s steps(7) .4s both}
  .js .sc--cool.on .boy{animation:hop .45s steps(2) 1.6s 3}
  /* 6 — толпа заполняет экран */
  .js .sc--crowd:not(.on) .mini{opacity:0;transform:scale(.3)}
  .js .sc--crowd .mini{transition:opacity .2s,transform .25s steps(2);transition-delay:calc(var(--i) * 45ms + .3s)}
  /* 7 — танец и нотки */
  .js .sc--dance.on .boy__arms{animation:arms .5s steps(1) .3s 7}
  .js .sc--dance.on .boy{animation:hop .5s steps(2) .3s 7}
  .js .sc--dance.on .notes{animation:notes 1s steps(4) .5s 3}
  /* 8 — подъём по лестнице */
  .js .sc--climb:not(.on) .climber{transform:translate(1px,30px)}
  .js .sc--climb.on .climber{animation:climb 2.6s .3s both}
  .js .sc--climb.on .flag rect:last-child{animation:wave .4s steps(2) 2.9s 4}
}
@keyframes slideL{from{transform:translateX(-1100px)}to{transform:none}}
@keyframes slideR{from{transform:translateX(1100px)}to{transform:none}}
@keyframes walk{from{opacity:1;transform:translateX(60%)}to{opacity:1;transform:none}}
@keyframes coin{from{opacity:0;transform:translateY(30px) scale(.4)}to{opacity:1;transform:none}}
@keyframes bob{50%{transform:translateY(-8px)}}
@keyframes shake{50%{transform:translateX(6px)}}
@keyframes blinkb{50%{opacity:0}}
@keyframes xp{0%{width:0}55%{width:72%}70%{width:72%}100%{width:0}}
@keyframes feed{from{transform:translateY(0)}to{transform:translateY(-12px)}}
@keyframes drop{from{transform:translateY(-14px)}to{transform:translateY(0)}}
@keyframes hop{50%{transform:translateY(-10px)}}
@keyframes arms{0%{visibility:visible}50%{visibility:hidden}}
@keyframes notes{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-6px)}}
@keyframes climb{0%,15%{transform:translate(1px,30px);animation-timing-function:steps(1)}20%,35%{transform:translate(11px,22px);animation-timing-function:steps(1)}40%,55%{transform:translate(21px,14px);animation-timing-function:steps(1)}60%,75%{transform:translate(31px,6px);animation-timing-function:steps(1)}80%,100%{transform:translate(41px,-2px)}}
@keyframes wave{50%{transform:scaleX(.6)}}
.site:focus,#main:focus{outline:none}
