@font-face{font-family:'PT Serif';font-style:normal;font-weight:400;font-display:swap;
 src:url('https://static.sergey-net.ru/assets/fonts/pt-serif-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:'PT Serif';font-style:normal;font-weight:400;font-display:swap;
 src:url('https://static.sergey-net.ru/assets/fonts/pt-serif-latin-400-normal.woff2') format('woff2');
 unicode-range:U+0000-00FF,U+2000-206F,U+2212}
@font-face{font-family:'PT Serif';font-style:normal;font-weight:700;font-display:swap;
 src:url('https://static.sergey-net.ru/assets/fonts/pt-serif-cyrillic-700-normal.woff2') format('woff2');
 unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'PT Serif';font-style:normal;font-weight:700;font-display:swap;
 src:url('https://static.sergey-net.ru/assets/fonts/pt-serif-latin-700-normal.woff2') format('woff2');
 unicode-range:U+0000-00FF,U+2000-206F,U+2212}
@font-face{font-family:'Plex';font-style:normal;font-weight:400;font-display:swap;
 src:url('https://static.sergey-net.ru/assets/fonts/ibm-plex-sans-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:'Plex';font-style:normal;font-weight:400;font-display:swap;
 src:url('https://static.sergey-net.ru/assets/fonts/ibm-plex-sans-latin-400-normal.woff2') format('woff2');
 unicode-range:U+0000-00FF,U+2000-206F,U+2212}
@font-face{font-family:'Plex';font-style:normal;font-weight:500;font-display:swap;
 src:url('https://static.sergey-net.ru/assets/fonts/ibm-plex-sans-cyrillic-500-normal.woff2') format('woff2');
 unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Plex';font-style:normal;font-weight:500;font-display:swap;
 src:url('https://static.sergey-net.ru/assets/fonts/ibm-plex-sans-latin-500-normal.woff2') format('woff2');
 unicode-range:U+0000-00FF,U+2000-206F,U+2212}

:root{
  --paper:#eef0f2; --card:#fbfcfd; --ink:#101820; --ink-soft:#39434f;
  --steel:#5a6472; --line:#c9cfd6; --blue:#1b3bd6;
  --serif:'PT Serif',Georgia,'Times New Roman',serif;
  --sans:'Plex','Segoe UI',Roboto,Arial,sans-serif;
  --col:min(1120px,100% - 2.5rem);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font:400 17px/1.62 var(--sans);
  text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.wrap{width:var(--col);margin-inline:auto}
.prose{max-width:64ch}

/* header */
.top{border-bottom:1px solid var(--line);background:var(--paper)}
.top .wrap{display:flex;align-items:center;gap:1.5rem;min-height:68px}
.mark{display:flex;align-items:center;gap:.65rem;color:var(--ink)}
.mark:hover{text-decoration:none}
.mark img{width:26px;height:26px}
.mark b{font:500 15px/1 var(--sans);letter-spacing:.01em}
.top nav{margin-left:auto;display:flex;gap:1.4rem;font-size:15px}
.top nav a{color:var(--ink-soft)}
.top nav a:last-child{color:var(--blue)}

/* hero */
.hero{position:relative;border-bottom:1px solid var(--line);overflow:hidden}
.hero>img{width:100%;height:clamp(340px,48vw,560px);object-fit:cover}
.hero .wrap{position:relative}
.badge{
  position:relative;margin:-190px 0 2.6rem;padding:2.4rem 2.2rem 2rem;
  width:min(660px,100%);background:var(--card);
  border:1px solid var(--line);border-left:4px solid var(--blue);
  box-shadow:0 18px 40px -28px rgba(16,24,32,.55);
}
.badge::before{
  content:"";position:absolute;left:0;right:0;top:14px;height:1px;
  background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 13px);
}
.badge h1{
  font:700 clamp(2.15rem,5.4vw,3.5rem)/1.06 var(--serif);
  margin:.2rem 0 1rem;letter-spacing:-.015em;
}
.meta{margin:0;color:var(--steel);font-size:15px}
.meta span+span::before{content:"—";margin:0 .5rem;color:var(--line)}
.gate{
  margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--line);
  font-size:15px;color:var(--ink-soft);
}
.gate strong{font-weight:500;color:var(--ink)}

/* sections */
section{padding:clamp(3rem,7vw,5.2rem) 0;border-bottom:1px solid var(--line)}
section h2{
  font:700 clamp(1.4rem,2.7vw,1.95rem)/1.2 var(--serif);
  margin:0 0 1.4rem;letter-spacing:-.01em;
}
p{margin:0 0 1.05rem}
.lede{font-size:19px;line-height:1.55;color:var(--ink-soft)}

/* programme */
.day{margin-bottom:2.4rem}
.day h3{font:500 15px/1 var(--sans);color:var(--blue);margin:0 0 1rem}
.slot{
  display:grid;grid-template-columns:5.5rem 1fr;gap:0 1.4rem;
  padding:1rem 0;border-top:1px solid var(--line);
}
.slot:last-child{border-bottom:1px solid var(--line)}
.slot time{color:var(--steel);font-size:15px;font-variant-numeric:tabular-nums}
.slot p{margin:0;max-width:56ch}
.slot small{display:block;color:var(--steel);font-size:14.5px;margin-top:.25rem}
.split{display:grid;grid-template-columns:1fr;gap:2.2rem}
@media(min-width:900px){.split{grid-template-columns:1.15fr .85fr;gap:3.4rem;align-items:start}}

/* rules list */
.rules{list-style:none;margin:0;padding:0;max-width:64ch}
.rules li{padding:1.05rem 0;border-top:1px solid var(--line)}
.rules li:last-child{border-bottom:1px solid var(--line)}
.rules b{display:block;font-weight:500;margin-bottom:.15rem}
.rules span{color:var(--ink-soft)}

/* cabinet */
#cabinet{background:var(--ink);color:#dfe3e8;border-bottom:0}
#cabinet h2{color:#fff}
#cabinet p{color:#aeb6c0;max-width:52ch}
#cabinet a{color:#9fb2ff}
.form{
  margin-top:1.8rem;width:min(400px,100%);
  display:grid;gap:.85rem;
}
.form label{font-size:14.5px;color:#aeb6c0;display:block;margin-bottom:.3rem}
.form input{
  width:100%;padding:.7rem .85rem;font:400 16px/1.3 var(--sans);
  color:#fff;background:#1a2531;border:1px solid #2e3a49;border-radius:2px;
}
.form input:focus{border-color:#5b78ff;outline:none;box-shadow:0 0 0 3px rgba(91,120,255,.25)}
.form button{
  margin-top:.4rem;padding:.75rem 1.4rem;font:500 16px/1 var(--sans);
  color:#fff;background:var(--blue);border:0;border-radius:2px;cursor:pointer;
}
.form button:hover{background:#2b4ae6}
.note{min-height:1.4em;font-size:14.5px;color:#ffb4a8}
.note:empty{min-height:0}
.hint{margin-top:1.4rem;font-size:14.5px;color:#8b94a0}

footer{padding:2.2rem 0 3rem;font-size:14.5px;color:var(--steel)}
footer .wrap{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem}
@media(max-width:620px){
  .mark b{display:none}
  .top nav{gap:1.1rem;font-size:14.5px}
}
@media(max-width:560px){
  .badge{margin-top:-120px;padding:1.8rem 1.4rem 1.5rem}
  .slot{grid-template-columns:1fr;gap:.2rem}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
