:root{
  --paper:#d9cdaf;
  --paper-dark:#c9bb98;
  --ink:#231d15;
  --flag-red:#861f1f;
  --olive:#4c5237;
  --cream:#efe6cd;
  --rust:#9a5b2d;
  --night:#2b2418;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{animation:none!important;transition:none!important}}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:Georgia,'Times New Roman',serif;
  line-height:1.6;
  background-image:
    radial-gradient(rgba(35,29,21,.05) 1px, transparent 1px),
    radial-gradient(rgba(35,29,21,.04) 1px, transparent 1px);
  background-size:7px 7px,11px 11px;
  background-position:0 0,3px 5px;
}
.stencil{
  font-family:'Arial Narrow','Roboto Condensed',Impact,Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:700;
}
a{color:var(--flag-red)}

/* ── Верхняя лента ── */
.topbar{
  background:var(--olive);
  color:var(--cream);
  font-size:.78rem;
  text-align:center;
  padding:.4rem 1rem;
  letter-spacing:.2em;
}

/* ── Навигация ── */
.nav{
  background:var(--ink);
  border-bottom:4px solid var(--flag-red);
}
.nav ul{
  list-style:none;
  max-width:1000px;margin:0 auto;
  display:flex;flex-wrap:wrap;
}
.nav a{
  display:block;
  padding:.8rem 1.4rem;
  color:var(--cream);
  text-decoration:none;
  font-size:.85rem;
}
.nav a:hover,.nav a:focus-visible{background:var(--flag-red);outline-offset:-3px}
.nav a[aria-current="page"]{background:var(--flag-red)}

/* ── Герой ── */
header.hero-wrap{
  background:var(--flag-red);
  color:var(--cream);
  border-bottom:6px double var(--ink);
  overflow:hidden;
}
header.hero-wrap.olive{background:var(--olive)}
header.hero-wrap.night{background:var(--night)}
.hero{
  max-width:1000px;margin:0 auto;
  padding:3rem 1.5rem 2.5rem;
  display:grid;grid-template-columns:1fr 320px;gap:2rem;align-items:center;
}
.hero.single{grid-template-columns:1fr}
.hero h1{
  font-size:clamp(2rem,6vw,3.8rem);
  line-height:1.05;
  text-shadow:3px 3px 0 rgba(0,0,0,.35);
}
.hero .sub{margin-top:1rem;font-size:1.05rem;max-width:36rem;color:#f3ead6}
.hero .motto{
  display:inline-block;margin-top:1.4rem;
  border:2px solid var(--cream);padding:.5rem 1.2rem;font-size:.9rem;
}
.poster{filter:drop-shadow(0 8px 14px rgba(0,0,0,.35))}
@media (max-width:760px){
  .hero{grid-template-columns:1fr;text-align:center}
  .poster{margin:0 auto;max-width:260px}
}

/* ── Контент ── */
main{max-width:1000px;margin:0 auto;padding:0 1.5rem}
section{padding:3rem 0;border-bottom:1px solid var(--paper-dark)}
section:last-of-type{border-bottom:none}
h2{
  font-size:1.6rem;margin-bottom:1.4rem;color:var(--flag-red);
  display:flex;align-items:center;gap:.7rem;
}
h2::after{content:"";flex:1;height:2px;background:var(--ink);opacity:.25}
p+p{margin-top:.9rem}
.lead{font-size:1.08rem}

.timeline{list-style:none;margin-top:.5rem}
.timeline li{
  display:grid;grid-template-columns:96px 1fr;gap:1rem;
  padding:.8rem 0;border-top:1px dashed var(--paper-dark);
}
.timeline li:first-child{border-top:none}
.timeline .yr{color:var(--rust);font-size:1.05rem;letter-spacing:.1em}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.2rem;margin-top:.5rem}
.card{
  background:var(--cream);
  border:1px solid var(--paper-dark);
  border-top:4px solid var(--flag-red);
  padding:1.2rem 1.2rem 1.4rem;
  box-shadow:0 3px 0 rgba(35,29,21,.12);
}
.card.olive{border-top-color:var(--olive)}
.card h3{font-size:1.05rem;margin:.6rem 0 .4rem;letter-spacing:.08em}
.card p{font-size:.93rem}
.card svg{display:block}

blockquote{
  margin:2rem auto 0;max-width:40rem;
  background:var(--olive);color:var(--cream);
  padding:1.5rem 1.8rem;
  border-left:8px solid var(--rust);
  font-size:1.05rem;font-style:italic;
}
blockquote footer{margin-top:.6rem;font-style:normal;font-size:.85rem;opacity:.85}

/* ── Галерея ── */
.gallery{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1.6rem;margin-top:.5rem;
}
.gallery figure{
  background:var(--cream);
  border:1px solid var(--paper-dark);
  padding:1rem;
  box-shadow:0 4px 0 rgba(35,29,21,.14);
}
.gallery svg{width:100%;height:auto;display:block}
.gallery figcaption{
  margin-top:.7rem;font-size:.85rem;text-align:center;
  color:var(--rust);letter-spacing:.08em;
}

/* ── Перекрёстные ссылки ── */
.next-page{
  margin-top:2.5rem;text-align:right;
}
.next-page a{
  display:inline-block;
  background:var(--flag-red);color:var(--cream);
  text-decoration:none;padding:.7rem 1.4rem;font-size:.85rem;
}
.next-page a:hover,.next-page a:focus-visible{background:var(--ink)}

/* ── Подвал ── */
.site-footer{
  background:var(--ink);color:#b8ac8f;
  padding:2rem 1.5rem;font-size:.82rem;text-align:center;line-height:1.7;
}
.site-footer a{color:#d9cdaf}
.flagline{display:flex;justify-content:center;gap:6px;margin-bottom:1rem}
.flagline span{width:34px;height:6px;background:var(--flag-red)}
.flagline span:nth-child(2){background:var(--rust)}
.flagline span:nth-child(3){background:var(--olive)}
