/* Информационный сайт «Пельмень Варень». Фирменный стиль сезона 2026: бордо + молочный, старорусская надпись, хохлома, вышивка. */
:root{
  --milk:#f6eee2;
  --milk-2:#fffaf2;
  --ink:#2b1713;
  --muted:#6b5047;
  --bordo:#5c1220;
  --bordo-2:#7a1a2a;
  --straw:#c7924a;
  --line:#e2d3bf;
  --display:"Ruslan Display","Golos Text",serif;
  --text:"Golos Text",system-ui,-apple-system,"Segoe UI",sans-serif;
  --wrap:1180px;
  --gutter:clamp(16px,4vw,40px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--milk);color:var(--ink);font:400 1.0625rem/1.65 var(--text);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--bordo-2);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--straw);outline-offset:3px;border-radius:4px}
h1,h2,h3{line-height:1.15;margin:0 0 .5em}
h2{font:400 clamp(1.9rem,4vw,2.8rem)/1.1 var(--display);color:var(--bordo-2);letter-spacing:.01em}
p{margin:0 0 1em}
.skip-link{position:absolute;left:12px;top:-100px;padding:12px 16px;background:var(--milk-2);color:var(--ink);z-index:50}
.skip-link:focus{top:12px}

/* Шапка */
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px var(--gutter);background:var(--bordo);color:var(--milk)}
.brand{display:flex;align-items:center;gap:10px;color:var(--milk);text-decoration:none;font-weight:600;white-space:nowrap}
.brand img{width:34px;height:auto}
.nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav a{color:var(--milk);text-decoration:none;padding:8px 12px;border-radius:999px;white-space:nowrap;font-size:.95rem}
.nav a:hover{background:rgba(246,238,226,.12)}

/* Фирменная надпись: маска из макета, цвет задаётся через background */
.wordmark{display:block;aspect-ratio:848/214;width:min(100%,620px);background:var(--milk);-webkit-mask:url(/images/season/wordmark.webp) center/contain no-repeat;mask:url(/images/season/wordmark.webp) center/contain no-repeat}
.wordmark--small{width:220px}

/* Первый экран */
.hero{position:relative;overflow:hidden;background:var(--bordo);color:var(--milk)}
.hero__flowers{position:absolute;right:-40px;top:-30px;width:min(46vw,520px);aspect-ratio:420/410;background:var(--milk);opacity:.16;-webkit-mask:url(/images/season/hohloma-corner.webp) center/contain no-repeat;mask:url(/images/season/hohloma-corner.webp) center/contain no-repeat}
.hero__inner{position:relative;max-width:var(--wrap);margin:auto;padding:clamp(32px,6vw,72px) var(--gutter) 0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(16px,4vw,48px);align-items:end}
.hero__text{padding-bottom:clamp(32px,6vw,72px)}
.hero h1{font:600 clamp(1.25rem,2.4vw,1.6rem)/1.3 var(--text);margin:18px 0 14px;color:#f2d9b3;max-width:30ch}
.hero__lead{max-width:56ch;font-size:1.1rem;color:rgba(246,238,226,.9)}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero__girl{width:100%;max-width:470px;justify-self:center;filter:drop-shadow(0 18px 30px rgba(0,0,0,.35))}
.button{display:inline-flex;align-items:center;min-height:48px;padding:12px 22px;border-radius:999px;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s}
.button--milk{background:var(--milk);color:var(--bordo)}
.button--milk:hover{background:#fff}
.button--line{color:var(--milk);box-shadow:inset 0 0 0 1.5px rgba(246,238,226,.6)}
.button--line:hover{background:rgba(246,238,226,.1)}

/* Рушник: вышитая лента между разделами */
.rushnik{height:30px;background:var(--milk-2) url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'32'%20height%3D'24'%3E%3Cpath%20d%3D'M14.4%202.4l3.2%203.2m0-3.2l-3.2%203.2M10.4%206.4l3.2%203.2m0-3.2l-3.2%203.2M18.4%206.4l3.2%203.2m0-3.2l-3.2%203.2M6.4%2010.4l3.2%203.2m0-3.2l-3.2%203.2M22.4%2010.4l3.2%203.2m0-3.2l-3.2%203.2M10.4%2014.4l3.2%203.2m0-3.2l-3.2%203.2M18.4%2014.4l3.2%203.2m0-3.2l-3.2%203.2M14.4%2018.4l3.2%203.2m0-3.2l-3.2%203.2M14.4%2010.4l3.2%203.2m0-3.2l-3.2%203.2M-1.6%2010.4l3.2%203.2m0-3.2l-3.2%203.2M30.4%2010.4l3.2%203.2m0-3.2l-3.2%203.2M-1.6%202.4l3.2%203.2m0-3.2l-3.2%203.2M-1.6%2018.4l3.2%203.2m0-3.2l-3.2%203.2M30.4%202.4l3.2%203.2m0-3.2l-3.2%203.2M30.4%2018.4l3.2%203.2m0-3.2l-3.2%203.2'%20stroke%3D'%237a1a2a'%20stroke-width%3D'1.5'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E") center/32px 24px repeat-x;border-block:3px solid var(--bordo-2)}

/* Разделы */
.block{max-width:var(--wrap);margin:auto;padding:clamp(48px,8vw,96px) var(--gutter) 0}
.block>p,.about__text p,.visit__text p,.past__intro p{max-width:68ch}
.note{color:var(--muted);max-width:68ch}
.sub{font:700 1.3rem/1.3 var(--text);color:var(--ink);margin:56px 0 12px}

.about{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:40px;align-items:center}
.about__mascot{width:200px;justify-self:center;transform:rotate(4deg)}

.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:32px 0;border-block:1px solid var(--line)}
.facts div{padding:22px 24px 22px 0}
.facts div+div{padding-left:24px;border-left:1px solid var(--line)}
.facts dt{font:400 clamp(1.5rem,3vw,2rem)/1.1 var(--display);color:var(--bordo-2);margin-bottom:6px}
.facts dd{margin:0;color:var(--muted)}

.photo{margin:0}
.photo img{width:100%;border-radius:6px;box-shadow:0 0 0 6px var(--milk-2),0 0 0 7px var(--line)}
.photo figcaption{margin-top:14px;color:var(--muted);font-size:.95rem}

/* День как лепка пельменя */
.day{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:14px;position:relative}
.day::before{content:"";position:absolute;left:4%;right:4%;top:62px;border-top:2px dashed var(--straw);z-index:0}
.day li{position:relative;z-index:1;display:flex;flex-direction:column;gap:6px}
.day img{height:110px;width:100%;object-fit:contain;background:var(--milk);padding:0 6px}
.day time{font-weight:700;color:var(--bordo-2);font-variant-numeric:tabular-nums}
.day span{font-size:.95rem;line-height:1.45}

.past__columns{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px)}
.nominations,.extras{list-style:none;padding:0;margin:0}
.nominations li,.extras li{padding:12px 0;border-bottom:1px solid var(--line)}
.nominations strong{color:var(--bordo-2)}
.extras li{padding-left:22px;position:relative}
.extras li::before{content:"";position:absolute;left:2px;top:21px;width:9px;height:9px;transform:rotate(45deg);border:1.5px solid var(--bordo-2)}

/* Персонажи */
.mascots{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.mascots li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:20px 12px 18px;background:var(--milk-2);border-radius:120px 120px 14px 14px}
.mascots img{height:150px;width:auto;object-fit:contain;margin-bottom:8px}
.mascots strong{color:var(--bordo-2);font-size:1.05rem}
.mascots span{color:var(--muted);font-size:.92rem;line-height:1.4}

.season{border-top:0}
.season>p{font-size:1.15rem}

.visit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,56px);align-items:start}

/* Статьи */
.article-list{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.article-card a{display:flex;flex-direction:column;gap:8px;height:100%;padding:22px 22px 24px;background:var(--milk-2);border-top:4px solid var(--bordo-2);color:var(--ink);text-decoration:none;border-radius:0 0 8px 8px}
.article-card a:hover .article-card__title{text-decoration:underline}
.article-card__title{font-weight:700;font-size:1.12rem;line-height:1.3;color:var(--bordo-2)}
.article-card__text{color:var(--muted);font-size:.95rem}
.more{font-weight:600}

/* Партнёры */
.partner-list{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.partner-list li{display:grid;place-items:center;height:110px;padding:16px;background:#fff;border-radius:8px}
.partner-list img{max-height:78px;width:auto;object-fit:contain}

/* Страница статьи */
.page-head h1,.article h1{font:400 clamp(2rem,5vw,3.2rem)/1.12 var(--display);color:var(--bordo-2);max-width:20ch}
.crumbs{font-size:.95rem}
.article{max-width:800px}
.article__lead{font-size:1.2rem;color:var(--muted);max-width:60ch}
.article__body{margin-top:32px;font-size:1.1rem;line-height:1.75}
.article__body p,.article__body ul{max-width:68ch}
.article__body h2{font:700 1.4rem/1.3 var(--text);color:var(--ink);margin:40px 0 12px}
.article__body ul{padding-left:1.2em;margin:0 0 1em}
.article__body li{margin:4px 0}
.article__body li::marker{color:var(--bordo-2)}
.gallery{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
.gallery a:hover img{opacity:.9}
.album{margin-top:24px}
.button--bordo{background:var(--bordo-2);color:var(--milk)}
.button--bordo:hover{background:var(--bordo)}
.article h1{font:700 clamp(1.9rem,4.5vw,2.9rem)/1.15 var(--text);letter-spacing:-.01em;max-width:24ch}

/* Подвал */
.footer{margin-top:clamp(64px,10vw,120px);background:var(--bordo);color:var(--milk)}
.footer__inner{max-width:var(--wrap);margin:auto;padding:40px var(--gutter) 48px;display:grid;gap:16px}
.footer p{margin:0;color:rgba(246,238,226,.85);max-width:60ch}
.footer nav{display:flex;flex-wrap:wrap;gap:18px}
.footer a{color:var(--milk)}

/* Адаптив */
@media (max-width:980px){
  .day{grid-template-columns:repeat(3,1fr);row-gap:28px}
  .day::before{display:none}
  .mascots{grid-template-columns:repeat(3,1fr)}
  .partner-list{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:760px){
  .topbar{flex-direction:column;align-items:flex-start;gap:6px;padding-block:8px}
  .nav{width:100%;margin-inline:-12px;padding-inline:0}
  .hero__inner{grid-template-columns:1fr}
  .hero__text{padding-bottom:8px}
  .hero__girl{max-width:300px}
  .about{grid-template-columns:1fr}
  .about__mascot{width:140px;justify-self:start;order:-1}
  .facts{grid-template-columns:1fr}
  .facts div,.facts div+div{padding:16px 0;border-left:0}
  .facts div+div{border-top:1px solid var(--line)}
  .day{grid-template-columns:1fr;gap:10px}
  .day li{display:grid;grid-template-columns:96px 1fr;column-gap:14px;align-items:center}
  .day img{grid-row:span 2;height:66px;padding:0}
  .day time{align-self:end}
  .day span{align-self:start}
  .past__columns,.visit{grid-template-columns:1fr}
  .mascots{grid-template-columns:repeat(2,1fr)}
  .mascots li:first-child{grid-column:span 2}
  .partner-list{grid-template-columns:repeat(2,1fr)}
}
