:root{
  --bg:#f7f4ee;
  --card:#ffffff;
  --text:#1f2933;
  --muted:#5b6470;
  --accent:#3f6f5f;
  --border:#ded8cc;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:Georgia, "Times New Roman", serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.65;
}
.wrap{
  width:min(100% - 2rem, 980px);
  margin:0 auto;
  padding:1.25rem 0 2rem;
}
.site-nav{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-bottom:1rem;
  font-size:.95rem;
}
.site-nav a{
  color:var(--accent);
  text-decoration:none;
  border-bottom:1px solid transparent;
}
.site-nav a:hover{border-bottom-color:var(--accent);}
.hero,
.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:18px;
  padding:1.25rem;
  box-shadow:0 8px 22px rgba(31,41,51,.06);
  margin:1rem 0;
}
h1,h2{
  line-height:1.2;
  margin:.2rem 0 .75rem;
}
h1{font-size:clamp(2rem,6vw,3.2rem);}
h2{font-size:clamp(1.35rem,4vw,2rem);}
.latin{font-style:italic;}
.note{color:var(--muted);}
.field{
  display:grid;
  gap:.55rem;
}
.field p{margin:0;}
sup a{
  color:var(--accent);
  text-decoration:none;
}
ol,ul{padding-left:1.35rem;}
footer{margin-top:1rem;}
@media(max-width:700px){
  .wrap{width:min(100% - 1rem, 980px); padding-top:.75rem;}
  .hero,.card{border-radius:14px; padding:1rem;}
  body{font-size:18px;}
}