@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/znatoki/fonts/golos-text-400-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/znatoki/fonts/golos-text-400-latin.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: 'Golos Text';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/znatoki/fonts/golos-text-500-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/znatoki/fonts/golos-text-500-latin.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: 'Golos Text';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/znatoki/fonts/golos-text-600-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/znatoki/fonts/golos-text-600-latin.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/znatoki/fonts/ibm-plex-mono-400-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/znatoki/fonts/ibm-plex-mono-400-latin.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/znatoki/fonts/ibm-plex-mono-500-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/znatoki/fonts/ibm-plex-mono-500-latin.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: 'Prata';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/znatoki/fonts/prata-400-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Prata';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/znatoki/fonts/prata-400-latin.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{--paper:#f4eee4;--clean:#fffdf9;--ink:#403431;--muted:#76655e;--red:#b43e34;--deep:#82443e;--rose:#9a5149;--sand:#d2c0aa;--line:rgba(64,52,49,.18);--serif:"Prata",Georgia,"Times New Roman",serif;--sans:"Golos Text",Arial,sans-serif;--mono:"IBM Plex Mono","Courier New",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e9e1d6;color:var(--ink);font:16px/1.5 var(--sans)}a{color:inherit;text-decoration:none}.shell{max-width:1440px;min-height:100vh;margin:auto;background:var(--paper);box-shadow:0 24px 70px rgba(82,40,35,.14)}.wrap{width:min(1240px,calc(100% - 64px));margin:auto}.top{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 0;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:11px;line-height:1.15;letter-spacing:.06em;text-transform:uppercase}.seal{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--ink);border-radius:50%;font:21px var(--serif)}.brand small{display:block;margin-top:4px;color:var(--muted);font-size:9px}.nav{display:flex;gap:19px;color:var(--muted);font-size:12px}.nav a:hover,.nav a:focus{color:var(--red)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:1px solid var(--red);background:var(--red);color:#fffefa;font-size:13px;font-weight:700}.button:hover{background:var(--deep);border-color:var(--deep)}.button.light{border-color:var(--ink);background:transparent;color:var(--ink)}.eyebrow{margin:0 0 13px;color:var(--red);font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.hero{display:grid;grid-template-columns:1.05fr .85fr;gap:54px;align-items:center;padding:74px 0}.hero h1,.page-hero h1{margin:0 0 19px;font:clamp(48px,6vw,76px)/1.06 var(--serif);letter-spacing:-.04em}.lead{max-width:600px;margin:0;color:var(--muted);font-size:18px}.state{margin:34px 0 7px;font:31px var(--serif)}.note{margin:0;color:var(--muted);font-size:14px}.facts{display:flex;flex-wrap:wrap;gap:0;margin-top:45px}.facts span{padding:0 13px;border-left:1px solid var(--line);color:var(--muted);font-size:11px}.facts span:first-child{padding-left:0;border:0}.cover{position:relative;min-height:430px;overflow:hidden;background:linear-gradient(105deg,rgba(154,81,73,.94),rgba(154,81,73,.28)),url('/assets/images/znatoki/stages/stage-01.jpg') right center/cover;color:#fffefa;box-shadow:0 22px 45px rgba(82,40,35,.18)}.cover:after{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.42)}.cover-copy{position:relative;z-index:1;display:flex;flex-direction:column;min-height:430px;padding:28px}.cover-copy b{font:10px var(--mono);letter-spacing:.08em}.cover-no{margin:auto 0 0;font:134px/.7 var(--serif);letter-spacing:-.1em}.cover-copy small{margin-top:24px;font:11px var(--mono)}.section{padding:78px 0;border-top:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1fr .72fr;gap:48px;align-items:end;margin-bottom:30px}.section h2{margin:0;font:43px/1.12 var(--serif);letter-spacing:-.03em}.section-head p:last-child{margin:0;color:var(--muted);font-size:14px}.summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.chip{padding:8px 10px;border:1px solid var(--line);color:var(--muted);font:10px var(--mono)}.stages{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stage{display:flex;flex-direction:column;min-height:220px;padding:18px;border:1px solid var(--line);background:linear-gradient(105deg,rgba(255,253,249,.98),rgba(255,253,249,.45)),var(--cover) right/155% auto no-repeat}.stage:hover{border-color:var(--red);transform:translateY(-2px)}.stage-top{display:flex;justify-content:space-between;color:var(--red);font:10px var(--mono);letter-spacing:.06em}.stage-date{margin-top:28px;font:10px var(--mono)}.stage h3{min-height:48px;margin:13px 0 auto;font:20px/1.2 var(--serif)}.stage p{margin:10px 0 0;color:var(--muted);font-size:11px}.stage span{margin-top:13px;font-size:11px;font-weight:700}.stage span:after{content:" →";color:var(--red)}.super{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:center;margin-top:28px;padding:44px;background:linear-gradient(100deg,rgba(130,68,62,.98),rgba(130,68,62,.55)),url('/assets/images/znatoki/supergame/supergame-2027.jpg') right/cover;color:#fffefa}.super h2{margin:12px 0;font:44px var(--serif)}.super p{max-width:550px;margin:0;color:rgba(255,255,255,.76)}.super-data{padding-left:24px;border-left:1px solid rgba(255,255,255,.3)}.super-data b{display:block;margin-top:15px;color:#ffd4cd;font:10px var(--mono)}.super-data span{display:block;margin-top:4px}.path{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.path div{min-height:158px;padding-top:16px;border-top:1px solid var(--line)}.path b{display:grid;place-items:center;width:34px;height:34px;margin-bottom:20px;border:1px solid var(--ink);border-radius:50%;font:10px var(--mono)}.path div:last-child b{border-color:var(--red);background:var(--red);color:white}.path h3{margin:0 0 7px;font:19px var(--serif)}.path p{margin:0;color:var(--muted);font-size:12px}.archive-preview{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:end}.archive-preview p{max-width:450px;color:var(--muted)}.season-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.season-card{min-height:195px;padding:19px;border-top:3px solid var(--red);background:var(--clean)}.season-card b{color:var(--red);font:10px var(--mono)}.season-card h3{margin:16px 0 8px;font:25px var(--serif)}.season-card p{margin:0;color:var(--muted);font-size:12px}.season-card a{display:inline-block;margin-top:16px;font-size:12px;font-weight:700}.dark{background:var(--rose);color:#fffefa}.teacher{display:grid;grid-template-columns:1fr 1fr;gap:48px}.teacher h2{margin:0 0 17px}.teacher p{color:rgba(255,255,255,.75)}.kit{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.25);border:1px solid rgba(255,255,255,.25)}.kit div{min-height:102px;padding:16px;background:var(--rose)}.kit b{display:block;margin-bottom:8px;color:#ffd4cd;font:10px var(--mono)}.kit span{font-size:13px}.footer{padding:30px 0;background:var(--deep);color:rgba(255,255,255,.78);font-size:11px}.footer .wrap{display:flex;justify-content:space-between;gap:20px}.page-hero{padding:62px 0;background:linear-gradient(130deg,var(--paper) 0 63%,var(--sand) 63%)}.crumb{margin:0 0 18px;color:var(--muted);font-size:12px}.page-hero .lead{font-size:17px}.tabbar{display:flex;gap:0;overflow:auto;border-bottom:1px solid var(--line);background:var(--clean)}.tabbar a{flex:0 0 auto;padding:15px 16px;color:var(--muted);font-size:12px}.tabbar a:hover,.tabbar a:focus{color:var(--red);box-shadow:inset 0 -2px var(--red)}.stage-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:48px;padding:62px 0}.stage-aside{position:sticky;top:18px;align-self:start;padding:23px;background:var(--clean);border-top:3px solid var(--red)}.stage-aside img{width:100%;margin:16px 0;display:block}.stage-aside b{font:10px var(--mono);color:var(--red)}.stage-aside p{color:var(--muted);font-size:12px}.stage-content section{padding:0 0 45px;margin-bottom:45px;border-bottom:1px solid var(--line);scroll-margin-top:20px}.stage-content h2{margin:0 0 20px;font:37px var(--serif)}.stage-content h3{margin:0 0 8px;font:22px var(--serif)}.stage-content p{color:var(--muted)}.details{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.details div{padding:16px;background:var(--clean);border-top:2px solid var(--sand)}.details b{display:block;color:var(--red);font:10px var(--mono)}.details span{display:block;margin-top:7px;font-size:13px}.news,.reviews{display:grid;gap:9px}.news a,.review{padding:15px 17px;background:var(--clean);border-left:3px solid var(--sand)}.news a:hover{border-color:var(--red)}.news b{display:block;color:var(--red);font:10px var(--mono)}.news span{display:block;margin-top:5px;font-size:14px}.result-grid,.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.result,.stat{padding:18px;background:var(--clean);border-top:3px solid var(--red)}.result b,.stat b{color:var(--red);font:10px var(--mono)}.result h3{margin:14px 0 7px}.stat strong{display:block;margin:15px 0 4px;font:35px var(--serif)}.review{border-left-color:var(--red)}.review q{display:block;font:19px var(--serif)}.review span{display:block;margin-top:8px;color:var(--muted);font-size:11px}.empty{padding:22px;background:var(--clean);border-left:3px solid var(--sand);color:var(--muted)}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:56px 0}.archive-card{min-height:255px;padding:22px;background:var(--clean);border-top:3px solid var(--red)}.archive-card b{color:var(--red);font:10px var(--mono)}.archive-card h2{margin:16px 0 10px;font:32px var(--serif)}.archive-card p{color:var(--muted);font-size:13px}.archive-card a{display:inline-block;margin-top:21px;font-size:12px;font-weight:700}.archive-card.ghost{border-color:var(--sand);background:transparent}.archive-card.ghost b{color:var(--muted)}.callout{margin:0 0 56px;padding:24px;border-left:4px solid var(--red);background:var(--clean)}.callout p{margin:0;color:var(--muted)}@media(max-width:850px){.nav{display:none}.hero,.archive-preview,.teacher,.stage-layout,.super{grid-template-columns:1fr}.section-head{grid-template-columns:1fr;gap:16px}.stages{grid-template-columns:repeat(2,1fr)}.path{grid-template-columns:repeat(2,1fr)}.stage-aside{position:static}.archive-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.wrap{width:calc(100% - 36px)}.top{padding:14px 0}.top .button{min-height:36px;padding:8px 10px;font-size:10px}.hero{padding:45px 0}.hero h1,.page-hero h1{font-size:44px}.cover,.cover-copy{min-height:340px}.cover-no{font-size:112px}.section{padding:58px 0}.stages,.result-grid,.stat-grid,.details,.season-cards,.archive-grid{grid-template-columns:1fr}.path{grid-template-columns:1fr}.super{padding:28px}.super-data{padding:16px 0 0;border:0;border-top:1px solid rgba(255,255,255,.3)}.footer .wrap{display:block}.footer .wrap div+div{margin-top:10px}.stage-layout{padding:42px 0}.page-hero{padding:46px 0}.tabbar{padding-left:18px}.tabbar a{padding:13px}.section h2,.stage-content h2{font-size:34px}}


/* Мобильная закреплённая CTA-панель (страница этапа, state=open) */
.mobile-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:12px 16px;background:var(--clean);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(82,40,35,.12)}
.mobile-cta .button{width:100%}
@media(max-width:767px){.mobile-cta{display:block}body:has(.mobile-cta){padding-bottom:66px}}

/* Формы лендинга (отзывы, обращения в поддержку) */
.znatoki-form{margin-top:22px;padding:24px;background:var(--clean);border-top:3px solid var(--red)}
.znatoki-form h3{margin:0 0 16px;font:24px var(--serif)}
.znatoki-form .form-row{margin-bottom:14px}
.znatoki-form .form-row label{display:block;margin-bottom:6px;color:var(--red);font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.znatoki-form input[type=text],.znatoki-form input[type=email],.znatoki-form select,.znatoki-form textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:3px;background:#fffdf9;color:var(--ink);font:14px var(--sans)}
.znatoki-form input[type=text]:focus,.znatoki-form input[type=email]:focus,.znatoki-form select:focus,.znatoki-form textarea:focus{border-color:var(--red)}
.znatoki-form textarea{resize:vertical}
.znatoki-form .form-consent{display:flex;gap:9px;align-items:flex-start;margin:14px 0;color:var(--muted);font-size:12px}
.znatoki-form .form-consent input{margin-top:2px}
.znatoki-form .form-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.znatoki-form .form-msg{margin:12px 0 0;font-size:13px;color:var(--muted)}
.znatoki-form .form-msg--error{color:var(--red)}
.form-success{padding:20px;background:var(--clean);border-left:3px solid var(--red);color:var(--ink)}
/* Список опубликованных отзывов */
.reviews{margin-bottom:18px}

/* Документы конкурса */
.doc-list{list-style:none;margin:26px 0 0;padding:0}
.doc-list li{margin:0 0 12px;padding:0 0 0 26px;position:relative}
.doc-list li::before{content:"";position:absolute;left:0;top:7px;width:12px;height:12px;background:var(--accent,#B43E34);border-radius:2px}
.doc-list a{color:var(--accent,#B43E34);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(180,62,52,.35)}
.doc-list a:hover{border-bottom-color:transparent}
.doc-list small{display:block;color:var(--text-2,#76655E);margin-top:2px}

/* Доступность: видимый фокус и reduced motion (требования пакета) */
a:focus-visible,button:focus-visible,.button:focus-visible,
.znatoki-form input:focus-visible,.znatoki-form select:focus-visible,.znatoki-form textarea:focus-visible{
  outline:2px solid var(--red);outline-offset:2px}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none !important;animation:none !important}
}
