@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/golos-cyr.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 700;font-display:swap;src:url(/assets/golos-lat.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:'Yeseva One';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/yeseva-cyr.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Yeseva One';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/yeseva-lat.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{
  --snow:#F6F4FA;      /* бумага страницы */
  --ink:#221B3A;       /* ночные чернила, основной текст */
  --muted:#5F5878;     /* подписи */
  --lacquer:#B0182F;   /* красный года */
  --lacquer-deep:#86112A;
  --gold:#D9A441;      /* фольга, мелкие акценты */
  --mist:#E9E4F2;      /* плашки, строки таблиц */
  --line:#D6CFE4;
  --display:'Yeseva One',Georgia,'Times New Roman',serif;
  --text:'Golos Text',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --col:44rem;
  --wide:68rem;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--snow);color:var(--ink);font:400 1.0625rem/1.62 var(--text);overflow-wrap:break-word}
img,svg{max-width:100%;height:auto}
a{color:var(--lacquer);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--lacquer-deep);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.5rem 1rem;z-index:10}
.skip:focus{left:1rem}

/* шапка */
.top{background:var(--lacquer);color:#fff}
.top__in{max-width:var(--wide);margin:0 auto;padding:.7rem 1rem;display:flex;align-items:center;gap:1.4rem}
.logo{display:flex;align-items:center;gap:.55rem;color:#fff;text-decoration:none;font:400 1.3rem/1 var(--display);white-space:nowrap}
.logo:hover{color:#fff}
.logo svg{width:34px;height:34px;flex:none}
.nav{display:flex;gap:1.1rem;overflow-x:auto;scrollbar-width:none;margin-left:auto}
.nav::-webkit-scrollbar{display:none}
.nav a{color:#fff;text-decoration:none;font-size:.95rem;white-space:nowrap;padding:.3rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{border-bottom-color:var(--gold);color:#fff}

/* красный лист с вырезным краем — общий для главной и внутренних страниц */
.sheet{position:relative;background:var(--lacquer);color:#fff;margin-bottom:2.6rem}
.sheet::after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:14px;
  background:radial-gradient(circle at 13px 0,var(--lacquer) 11.5px,transparent 12px) repeat-x;background-size:26px 14px}
.sheet__in{max-width:var(--wide);margin:0 auto;padding:1.2rem 1rem 2rem}
.crumbs{font-size:.85rem;margin:0 0 .8rem;opacity:.9}
.crumbs a{color:#fff}
.crumbs span[aria-hidden]{margin:0 .35rem;opacity:.6}
.sheet h1{font:400 clamp(2rem,5.2vw,3.1rem)/1.08 var(--display);margin:0;max-width:22ch;letter-spacing:.005em}
.sheet .lead{font-size:1.12rem;line-height:1.5;margin:.9rem 0 0;max-width:40rem;opacity:.95}

/* главная: эмблема и полоса лет */
.hero{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:center;position:relative}
.hero>div{min-width:0}
.hero__goat{position:absolute;right:1rem;top:1rem;width:84px}
.hero h1{padding-right:92px}
.hero__kicker{display:block;font-family:var(--text);font-size:.9rem;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 .5rem;font-weight:600}
.hero h1{font-size:clamp(2.4rem,7vw,4.2rem);max-width:none}
.hero .lead{font-size:1.18rem}
@media(min-width:760px){.hero{grid-template-columns:auto 1fr;gap:2.4rem}.hero__goat{position:static;width:220px}.hero h1{padding-right:0}}
.years{display:flex;gap:0;margin:1.4rem 0 0;padding:0;list-style:none;border:1px solid rgba(255,255,255,.35);border-radius:10px;overflow:hidden;max-width:34rem}
.years li{flex:1;padding:.6rem .8rem;font-size:.9rem;line-height:1.3;border-left:1px solid rgba(255,255,255,.25)}
.years li:first-child{border-left:0}
.years b{display:block;font:400 1.15rem/1.2 var(--display)}
.years a{color:#fff}
.years .now{background:#fff;color:var(--lacquer)}
.years .now b{color:var(--lacquer)}
.count{margin:1.1rem 0 0;font-size:1rem}
.count strong{font:400 1.45rem/1 var(--display);color:var(--gold)}

/* текстовая колонка */
main{display:block}
.page{max-width:var(--col);margin:0 auto;padding:0 1rem 3rem}
.page h2{font:400 clamp(1.45rem,3.6vw,1.9rem)/1.2 var(--display);margin:2.4rem 0 .8rem;color:var(--ink)}
.page h3{font-size:1.12rem;line-height:1.35;margin:1.6rem 0 .4rem;font-weight:650}
.page p,.page ul,.page ol{margin:0 0 1rem}
.page ul,.page ol{padding-left:1.25rem}
.page li{margin:.3rem 0}
.page li::marker{color:var(--lacquer)}
.upd{font-size:.85rem;color:var(--muted);margin:2.4rem 0 0}

/* паспорт года: билет с надрезанными углами */
.ticket{position:relative;background:#fff;border-radius:14px;padding:1.1rem 1.2rem;margin:0 0 1.8rem;box-shadow:0 1px 0 var(--line),0 8px 24px -16px rgba(34,27,58,.35);
  -webkit-mask:radial-gradient(circle 10px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 10px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(circle 10px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 10px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat}
.ticket__t{font:400 1.05rem/1.2 var(--display);color:var(--lacquer);margin:0 0 .6rem}
.ticket dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0}
.ticket dt{color:var(--muted);font-size:.92rem}
.ticket dd{margin:0;font-weight:600}
.home .ticket{margin-top:-1rem}

.note{background:var(--mist);border-left:4px solid var(--lacquer);padding:.85rem 1rem;border-radius:0 10px 10px 0;margin:1.2rem 0}
.note p:last-child{margin:0}

/* таблицы */
.tblwrap{overflow-x:auto;margin:0 0 1.2rem;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:.95rem;line-height:1.4}
th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:650;background:var(--mist)}
tr.hl td{background:#FBE9EC}
td.num{white-space:nowrap;font-variant-numeric:tabular-nums}
.sw{display:inline-block;width:.9em;height:.9em;border-radius:50%;vertical-align:-.1em;margin-right:.4em;border:1px solid rgba(0,0,0,.12)}

/* палитра цветов */
.palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.7rem;margin:0 0 1.4rem;padding:0;list-style:none}
.palette li{margin:0;background:#fff;border-radius:10px;overflow:hidden;font-size:.88rem;line-height:1.3;box-shadow:0 1px 0 var(--line)}
.palette i{display:block;height:4.2rem}
.palette span{display:block;padding:.45rem .6rem}

/* карточки ссылок */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(14.5rem,1fr));gap:.8rem;margin:0 0 1.4rem;padding:0;list-style:none}
.cards li{margin:0}
.cards a{display:block;height:100%;background:#fff;border-radius:12px;padding:.9rem 1rem;text-decoration:none;color:var(--ink);box-shadow:0 1px 0 var(--line);border:1px solid transparent}
.cards a:hover{border-color:var(--lacquer)}
.cards b{display:block;font:400 1.12rem/1.25 var(--display);color:var(--lacquer);margin-bottom:.25rem}
.cards span{font-size:.92rem;color:var(--muted);line-height:1.4;display:block}

/* знаки зодиака */
.signs{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.6rem;margin:0 0 1.4rem;padding:0;list-style:none}
.signs li{margin:0}
.signs a{display:block;background:#fff;border-radius:10px;padding:.65rem .8rem;text-decoration:none;color:var(--ink);box-shadow:0 1px 0 var(--line)}
.signs a:hover{box-shadow:0 0 0 2px var(--lacquer)}
.signs b{display:block;font:400 1.1rem/1.2 var(--display);color:var(--lacquer)}
.signs small{color:var(--muted);font-size:.82rem}
.signs a[aria-current]{background:var(--lacquer);color:#fff}
.signs a[aria-current] b,.signs a[aria-current] small{color:#fff}

.pager{display:flex;justify-content:space-between;gap:1rem;margin:2rem 0 0;font-size:.95rem}

/* вопросы */
details{background:#fff;border-radius:10px;margin:0 0 .6rem;box-shadow:0 1px 0 var(--line)}
summary{cursor:pointer;padding:.8rem 1rem;font-weight:600;list-style-position:outside;margin-left:1rem}
details>div{padding:0 1rem .8rem}
details>div p:last-child{margin:0}

/* шаблоны для печати */
.prints{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.8rem;margin:0 0 1.6rem;padding:0;list-style:none}
.prints li{margin:0;background:#fff;border-radius:12px;padding:.7rem;box-shadow:0 1px 0 var(--line)}
.prints img{display:block;width:100%;border-radius:6px;border:1px solid var(--line);background:#fff}
.prints b{display:block;margin:.6rem 0 .2rem;font-weight:650}
.prints span{display:block;font-size:.85rem;color:var(--muted);line-height:1.35}
.prints .btn{margin-top:.5rem;font-size:.88rem;padding:.4rem .7rem}
.btn{display:inline-block;background:var(--lacquer);color:#fff;text-decoration:none;border-radius:8px;padding:.5rem .9rem;font-weight:600;font-size:.95rem}
.btn:hover{background:var(--lacquer-deep);color:#fff}

/* подвал */
.foot{background:var(--ink);color:#CFC8E2;font-size:.92rem;margin-top:2rem}
.foot__in{max-width:var(--wide);margin:0 auto;padding:2rem 1rem;display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}
.foot a{color:#fff}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin:.25rem 0}
.foot b{display:block;color:#fff;font:400 1.05rem var(--display);margin-bottom:.4rem}

@media(max-width:640px){
  body{font-size:1rem}
  .top__in{flex-wrap:wrap;gap:.3rem;padding-bottom:.3rem}
  .nav{margin-left:0;width:100%;gap:1rem}
  .years li{padding:.5rem .55rem;font-size:.82rem}
  .years b{font-size:1rem}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.top,.foot,.nav,.cards,.count{display:none}.sheet{background:none;color:#000}.sheet::after{display:none}.crumbs a,.sheet h1{color:#000}}
