
:root{
  --bg:#fbfaf6;
  --paper:#fffdf9;
  --text:#142033;
  --muted:#526172;
  --line:#d7d4ca;
  --accent:#a86f12;
  --accent-2:#20324c;
  --max:1200px;
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--sans);
  line-height:1.65;
}
a{color:var(--accent-2); text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%; height:auto}
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(251,250,246,.97);
  border-bottom:1px solid var(--line);
  backdrop-filter:saturate(180%) blur(8px);
}
.wrap{max-width:var(--max); margin:0 auto; padding:0 20px}
.topbar{
  display:grid; grid-template-columns: 1.4fr 2fr auto; gap:18px; align-items:center;
  min-height:86px;
}
.brand{
  display:flex; align-items:center; gap:14px;
}
.brand img{width:52px; height:52px}
.brand-mark{display:flex; flex-direction:column}
.brand-name{font-weight:800; letter-spacing:.02em; font-size:1.2rem}
.brand-sub{font-size:.82rem; color:var(--muted)}
.nav-toggle{display:none; background:none; border:none; font-size:1.8rem; color:var(--accent-2)}
.main-nav ul, .socials ul, .footer-nav ul{list-style:none; padding:0; margin:0; display:flex; gap:18px; flex-wrap:wrap}
.main-nav a, .socials a, .footer-nav a{font-size:.95rem}
.socials{justify-self:end}
.page{
  padding:34px 0 70px;
}
.layout{
  display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:42px;
}
main h1, main h2, main h3{
  font-family:var(--serif);
  line-height:1.15;
  color:var(--accent-2);
}
main h1{font-size:clamp(2rem, 4vw, 3.5rem); margin:.2rem 0 1rem}
main h2{font-size:clamp(1.45rem, 2.2vw, 2.1rem); margin:2rem 0 .7rem}
main h3{font-size:1.2rem; margin:1.4rem 0 .4rem}
p, li{font-size:1.03rem}
.kicker{
  font-size:.82rem; text-transform:uppercase; letter-spacing:.12em; color:var(--accent);
  margin-bottom:.7rem; font-weight:700;
}
.intro{font-size:1.14rem; color:#21324a}
.meta{
  color:var(--muted); font-size:.93rem; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:12px 0; margin:16px 0 26px;
}
main section{padding-bottom:8px; margin-bottom:18px}
main section + section{border-top:1px solid var(--line); padding-top:20px}
.plain-list, .taxonomy-list, .entity-list, .link-list{padding-left:1.2rem}
.aside{
  font-size:.97rem;
  position:relative;
}
.aside section{padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid var(--line)}
.aside h2{font-size:1.05rem; font-family:var(--sans); letter-spacing:.02em; margin:.1rem 0 .7rem}
.note{color:var(--muted); font-size:.95rem}
.contact-lines p, .social-lines p{margin:.25rem 0}
.grid-2{
  display:grid; grid-template-columns:1fr 1fr; gap:22px;
}
.taxonomy-section{margin-bottom:24px}
.taxonomy-item{margin-bottom:10px}
.entity-grid{columns:2; column-gap:28px}
.entity-grid p{break-inside:avoid; margin:0 0 10px}
form{display:grid; gap:12px; margin-top:12px}
input, textarea, select{
  width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:0; background:#fff;
  color:var(--text); font:inherit;
}
textarea{min-height:180px; resize:vertical}
button, .button{
  display:inline-block; padding:11px 16px; border:1px solid var(--accent-2); background:transparent; color:var(--accent-2);
  font:inherit; cursor:pointer
}
footer{
  border-top:1px solid var(--line);
  padding:28px 0 48px;
  color:var(--muted);
  background:var(--paper);
}
.footer-grid{display:grid; grid-template-columns:2fr 1fr; gap:28px}
.small{font-size:.92rem}
.hero-image{margin:14px 0 20px}
.tag-cloud{display:flex; flex-wrap:wrap; gap:8px 12px}
.tag-cloud span{font-size:.95rem; color:var(--accent-2)}
.history-links li{margin-bottom:8px}
@media (max-width: 860px){
  .topbar{grid-template-columns:1fr auto; align-items:center}
  .main-nav{grid-column:1 / -1; display:none; padding-bottom:12px}
  .main-nav.open{display:block}
  .main-nav ul{display:block}
  .main-nav li{margin:8px 0}
  .socials{display:none}
  .nav-toggle{display:block}
  .layout{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .entity-grid{columns:1}
}
