@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Source+Sans+3:wght@400;600&display=swap');

:root {
  --circle-parchment: #f8f0d8;
  --circle-cream: #fcf6e2;
  --circle-sand: #ede3c3;
  --circle-sanctuary-green: #2f4538;
  --circle-ink-green: #26352d;
  --circle-forest-green: #3d5a4f;
  --circle-lifted-green: #496556;
  --circle-organic-gold: #c49842;
  --circle-aged-gold: #c9a958;
  --circle-river-green: #9bb89b;
  --circle-faded-stone: #a79f82;
  --circle-border: #e5d9b4;
  --circle-font-display: 'EB Garamond', Georgia, serif;
  --circle-font-body: Georgia, 'EB Garamond', serif;
  --circle-font-sans: 'Source Sans 3', Verdana, sans-serif;
  --circle-shadow-soft: 0 6px 18px rgba(47, 69, 56, 0.14);
  --circle-shadow-card: 0 2px 8px rgba(47, 69, 56, 0.1);
}

body {
  background-color: var(--circle-parchment);
  background-image: url('brand/textures/parchment-tile.png');
  color: var(--circle-ink-green);
  font-family: var(--circle-font-body);
  line-height: 1.65;
}

h1,
h2,
h3,
.nav-link,
.enter-button {
  font-family: var(--circle-font-display);
}

h1,
h2,
h3 {
  line-height: 1.15;
}

.page-content h1 {
  font-weight: 600;
}

.page-kicker,
.resource-label,
.form-help,
.form-status,
.booking-note,
.site-footer {
  font-family: var(--circle-font-sans);
}

.page-kicker {
  color: var(--circle-organic-gold);
  letter-spacing: 0.22em;
}

.content-card,
.resource-card {
  border-color: var(--circle-border);
  background: rgba(252, 246, 226, 0.72);
  box-shadow: var(--circle-shadow-card);
}

.content-card {
  border-radius: 8px;
}

.resource-card {
  border-radius: 8px;
}

.offering-section {
  border-top-color: transparent;
}

.offering-section + .offering-section::before,
.page-content > .content-card + .content-card::before,
.testimonials::before {
  display: block;
  width: min(360px, 78%);
  height: 24px;
  margin: -1.7rem auto 1.45rem;
  background: url('brand/elements/river-divider-horizontal.svg') center / contain no-repeat;
  content: '';
  opacity: 0.78;
}

.btn,
.contact-form button,
.access-row button {
  border-radius: 4px;
  background: var(--circle-sanctuary-green);
  color: var(--circle-parchment);
}

.btn:hover,
.contact-form button:hover,
.access-row button:hover {
  background: var(--circle-lifted-green);
}

.contact-form input,
.contact-form select,
.contact-form textarea,
.access-row input {
  border-color: var(--circle-border);
  border-radius: 4px;
  background: rgba(252, 246, 226, 0.88);
}

.testimonial {
  border-left-color: var(--circle-organic-gold);
  background: rgba(252, 246, 226, 0.68);
  font-family: var(--circle-font-display);
  font-size: 1.08rem;
  font-style: italic;
}

.testimonial footer {
  font-family: var(--circle-font-sans);
  font-style: normal;
}

.site-footer {
  width: min(700px, calc(100% - 36px));
  margin: 4rem auto 2.5rem;
  padding-top: 38px;
  background: url('brand/elements/root-divider.svg') top center / 150px auto no-repeat;
  color: var(--circle-forest-green);
  text-align: center;
}

.site-footer__seal {
  display: block;
  width: 62px;
  height: 62px;
  margin: 0 auto 0.85rem;
}

.site-footer__name {
  margin: 0;
  font-family: var(--circle-font-display);
  font-size: 1.2rem;
  font-weight: 600;
}

.site-footer__legal {
  margin: 0.15rem 0 0;
  color: var(--circle-faded-stone);
  font-size: 0.74rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

@media (max-width: 700px) {
  .site-footer {
    margin-top: 3rem;
  }

  .offering-section + .offering-section::before,
  .page-content > .content-card + .content-card::before,
  .testimonials::before {
    width: min(280px, 82%);
  }
}
