/* ── Responsive shared styles for all three pages ── */
*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  background-repeat: repeat;
  background-position: top left;
  background-color: #fff;
  font-family: 'Hoefler Text', 'Times New Roman', serif;
  color: #463C3C;
}

.page-wrap {
  max-width: 700px;
  margin: 10px auto;
  background-repeat: repeat;
  background-position: top left;
}

/* ── HEADER ── */
.site-header {
  position: relative;
  height: 59px;
  overflow: hidden;
}
.site-header .header-bg {
  width: 100%;
  height: 59px;
  display: block;
  object-fit: cover;
  object-position: center;
}
.site-header .header-title {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(6px, 3vw, 24px);
  pointer-events: none;
}
.site-header .glyph {
  height: 29px;
  width: auto;
  flex-shrink: 0;
}
.site-header h1 {
  margin: 0;
  font-size: clamp(1rem, 4vw, 1.55rem);
  font-weight: 400;
  color: #2c1f0e;
  letter-spacing: 0.06em;
  white-space: nowrap;
  text-shadow: 0 1px 2px rgba(255,255,255,0.25);
}

/* ── SEPARATOR ── */
.sep-img {
  width: 100%;
  display: block;
  height: 52px;
  object-fit: cover;
  object-position: center bottom;
}

/* ── NAV ── */
.site-nav {
  background-color: #FAF9F5;
  text-align: center;
  padding: 3px 0;
  border-top: 1px solid #d4c9b0;
  border-bottom: 1px solid #d4c9b0;
}
.site-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
}
.site-nav li { display: inline; }
.site-nav a {
  font-family: 'Hoefler Text', 'Times New Roman', serif;
  font-size: 0.6em;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  text-decoration: none;
  color: #463C3C;
  padding: 3px 12px;
  display: inline-block;
  line-height: 20px;
}
.site-nav a:hover { color: #83785B; }
.site-nav a.active { color: #9C6810; }

/* ── FOOTER ── */
.site-footer {
  width: 100%;
  display: block;
}
.site-footer img {
  width: 100%;
  height: auto;
  display: block;
}
.copyright {
  text-align: center;
  font-size: 0.65rem;
  color: #83785B;
  padding: 6px 0 4px;
  font-family: 'Hoefler Text', 'Times New Roman', serif;
}

/* ── PAGE BODY ── */
.page-body {
  padding: clamp(16px, 4vw, 32px) clamp(16px, 4vw, 28px);
}

/* links */
a { color: #9C6810; }
a:visited { color: #9C6810; }
a:hover { color: #83785B; }

.dl-link {
  display: inline-block;
  color: #9C6810;
  text-decoration: none;
  font-size: 0.9rem;
}
.dl-link:hover { color: #83785B; }
