.container-fv { width: min(1120px, calc(100% - 2rem)); margin-inline: auto; }
.section { padding-top: 4rem; padding-bottom: 4rem; }
/* Keep Tailwind pt-* clearance above the fixed site header */
.section.pt-28 { padding-top: 8rem; }
.section-title { font-family: Fraunces, Georgia, serif; font-size: clamp(1.75rem, 3vw, 2.4rem); color: #0F241C; }
.section-lead { margin-top: 0.75rem; max-width: 40rem; color: rgba(27,58,47,.75); }
.chip { display: inline-block; font-size: .75rem; letter-spacing: .18em; text-transform: uppercase; color: #B08D57; }
.btn-primary,
a.btn-primary,
button.btn-primary {
  display: inline-flex; align-items: center; justify-content: center;
  background: #B08D57; color: #fff; font-weight: 600;
  border-radius: .6rem; padding: .75rem 1.1rem; text-decoration: none;
}
.btn-primary:hover,
a.btn-primary:hover,
button.btn-primary:hover {
  background: #c9a56a; color: #fff;
}
.label { display: block; margin-bottom: .35rem; font-weight: 600; font-size: .9rem; }
.input {
  width: 100%; min-height: 2.75rem; border-radius: .5rem;
  border: 1px solid rgba(27,58,47,.2); background: #fff;
  padding: .65rem .9rem; color: #0F241C;
}

/* Formatted CMS page body (Trix HTML from admin) */
.cms-body { line-height: 1.7; }
.cms-body > * + * { margin-top: 1rem; }
.cms-body h1 { font-family: Fraunces, Georgia, serif; font-size: 2rem; color: #0F241C; }
.cms-body h2 { font-family: Fraunces, Georgia, serif; font-size: 1.6rem; color: #0F241C; }
.cms-body h3 { font-family: Fraunces, Georgia, serif; font-size: 1.3rem; color: #0F241C; }
.cms-body strong, .cms-body b { font-weight: 700; }
.cms-body em, .cms-body i { font-style: italic; }
.cms-body ul { list-style: disc; padding-left: 1.25rem; }
.cms-body ol { list-style: decimal; padding-left: 1.25rem; }
.cms-body a { color: #B08D57; text-decoration: underline; }
.cms-body blockquote {
  border-left: 3px solid rgba(176,141,87,.55);
  padding-left: 1rem;
  color: rgba(27,58,47,.8);
}
