/* Общие стили интерфейса сайта GK (шапка, кнопки, уголки-скобки, пиксельные надписи).
   Размеры — от макета 1672×941, масштаб --s ставит скрипт страницы. */
:root{--ink:#E0D4C6;--paper:#070707;--line:rgba(224,212,198,.58);--dim:rgba(224,212,198,.62);--s:1}
html,body{margin:0;height:100%;background:#070707;overflow:hidden}
#bg,#gl,#fx{position:fixed;inset:0;width:100%;height:100%;display:block}
#bg{z-index:0}
#gl{z-index:1}
#fx{z-index:2;pointer-events:none}

/* ── интерфейс первого экрана: размеры от макета 1672×941, масштаб --s (см. layoutUI) ── */
#ui{position:fixed;inset:0;z-index:3;color:var(--ink);pointer-events:none;
    font-family:'IBM Plex Mono',ui-monospace,Consolas,monospace;-webkit-font-smoothing:antialiased}
#ui a,#ui button{pointer-events:auto}
.px{display:block;shape-rendering:crispEdges;overflow:visible}
.px path{fill:currentColor}
.u{--k:calc(var(--s) * 1px)}
.S{position:absolute}
/* кадр макета: на экранах «выше» 16:9 композиция встаёт по центру запаса высоты (--oy, gk-frame.js) */
.frm{position:absolute;left:0;right:0;top:var(--oy,0px);height:calc(941*var(--k))}

.hdr{left:calc(32*var(--k));right:calc(32*var(--k));top:0;height:calc(79*var(--k));
     border-bottom:calc(1.5*var(--k)) solid var(--line);display:flex;align-items:center}
.logo{width:calc(74*var(--k));height:calc(46*var(--k));box-sizing:border-box;border:calc(2*var(--k)) solid var(--ink);
      display:grid;place-items:center;color:var(--ink);text-decoration:none}
.nav{display:flex;align-items:center;margin-left:calc(53*var(--k));font-size:calc(13.4*var(--k));letter-spacing:.06em;text-transform:uppercase}
.nav a{color:var(--ink);text-decoration:none;padding:calc(4*var(--k)) 0}
.nav i{font-style:normal;margin:0 calc(29*var(--k));opacity:.85}
.btn{display:inline-flex;align-items:center;gap:calc(14*var(--k));box-sizing:border-box;color:var(--ink);background:var(--paper);
     border:calc(1.6*var(--k)) solid var(--ink);font:inherit;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;cursor:pointer}
.btn:hover,.nav a:hover,.logo:hover{background:var(--ink);color:var(--paper)}
.btn:focus-visible,.nav a:focus-visible,.logo:focus-visible{outline:calc(2*var(--k)) solid var(--ink);outline-offset:calc(3*var(--k))}
.cta-top{margin-left:auto;height:calc(44*var(--k));padding:0 calc(13*var(--k));font-size:calc(14*var(--k));
         box-shadow:calc(4*var(--k)) 0 0 0 rgba(224,212,198,.55)}
.arrow{display:inline-block;font-size:1.15em;line-height:1}
/* уголки-скобки по углам блоков */
.brk{position:absolute;width:calc(9*var(--k));height:calc(9*var(--k));border:0 solid var(--ink)}
.brk.tl{left:0;top:0;border-left-width:calc(1.6*var(--k));border-top-width:calc(1.6*var(--k))}
.brk.tr{right:0;top:0;border-right-width:calc(1.6*var(--k));border-top-width:calc(1.6*var(--k))}
.brk.bl{left:0;bottom:0;border-left-width:calc(1.6*var(--k));border-bottom-width:calc(1.6*var(--k))}
.brk.br{right:0;bottom:0;border-right-width:calc(1.6*var(--k));border-bottom-width:calc(1.6*var(--k))}

.nav a.on{background:var(--ink);color:var(--paper);padding:calc(6*var(--k)) calc(14*var(--k))}
/* общие элементы экранов */
.tagk{display:flex;align-items:center;gap:calc(12*var(--k));font-weight:600;font-size:calc(16*var(--k));letter-spacing:.08em}
.tagk b{background:var(--ink);color:var(--paper);padding:calc(3*var(--k)) calc(9*var(--k));font-weight:600}
.tagk .sl{font-weight:500;letter-spacing:.02em;font-size:calc(19*var(--k))}
.ttl{margin:0;font-size:0}
.ttl .ln{display:block;margin-bottom:calc(-5*var(--k))}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lede{margin:0;font-size:calc(19.5*var(--k));line-height:calc(30*var(--k));letter-spacing:.035em}
.frame{box-sizing:border-box;border:calc(1.6*var(--k)) solid var(--ink);background:rgba(7,7,7,.88)}
.frame h3{margin:0;height:calc(34*var(--k));display:flex;align-items:center;padding-left:calc(16*var(--k));gap:calc(12*var(--k));
          border-bottom:calc(1.6*var(--k)) solid var(--ink);font-weight:500;font-size:calc(16*var(--k));letter-spacing:.09em}
.cta-big{height:calc(60*var(--k));padding:0 calc(32*var(--k));font-size:calc(21*var(--k));letter-spacing:.1em;gap:calc(26*var(--k));border-width:calc(2*var(--k))}
.info{display:flex;align-items:center;gap:calc(14*var(--k));margin:0;font-size:calc(14.5*var(--k));letter-spacing:.02em}
